Re: typedefs and structs [was Re: [PATCH 16/42]: PCI: PCI Errorreporting callbacks]

From: Neil Brown
Date: Mon Nov 07 2005 - 20:18:48 EST


On Monday November 7, rostedt@xxxxxxxxxxx wrote:
>
> This was for the simple reason, too many developers were passing
> structures by value instead of by reference, just because they were
> using a type that they didn't realize was a structure. And to make
> things worse, these structures started to get bigger.
>

Another reason for not using typedefs is that if you do, and you want
to refer to the structure in some other include file, you have to
#include the include file that devices the structure.
If you don't use typedefs, you can just say:

struct foo;

and the compiler will happily wait for the complete definition later
(providing it doesn't need the size in the meanwhile).
So avoiding typedef means that you can sometimes avoid excess
#includes, which means faster compiling.

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/