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

Neil Brown neilb at suse.de
Tue Nov 8 12:18:42 EST 2005


On Monday November 7, rostedt at goodmis.org 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



More information about the Linuxppc64-dev mailing list