I mean that packed attribute is applied only when allocation is implied or can I apply packed attribute to struct definitions where no variables are declared? struct __attribute__((__packed__)) foo { ... }; struct foo bar; <--- is this packed? Regards, 2015-10-22 14:18 GMT-02:00 Daniel. <danielhilst@xxxxxxxxx>: > I mean that packed attribute is applied only when allocation is implied or > can I apply packed > attribute to struct definitions where no variables are declared? > > struct __attribute__((__packed__)) foo { ... }; > struct foo bar; <--- is this packed? > > Regards, > > 2015-10-21 17:17 GMT-02:00 anish singh <anish198519851985@xxxxxxxxx>: >> >> >> >> On Wed, Oct 21, 2015 at 10:56 AM, Daniel. <danielhilst@xxxxxxxxx> wrote: >>> >>> Suppose that I have a declaration: >>> >>> struct __attribute__((__packed__)) foo { >>> char ch; >>> int number; >>> }; >>> >>> Will be any variable of this type be packed? >>> >>> The real world thing is: I have a code that come up from 8bit world, >>> with a lot of lots of chained structures that are transferred throght >>> some radio frequence module, I need be sure that all this structs have >>> no padding so that they can be transferred as they are to radio. To >>> achieve this I've >>> putted __attribute__((__packed__)) to every struct and inner struct >>> that are sended through RF, >>> but I read at some StackOverflow post that packed attribute aplies to >>> variables not to types, >> >> >> Can you elaborate? AFAIK you can safely use packed attribute to pack >> your structures and send it over the network as long as you take care of >> endianess. >> >> What do you mean by packed attribute applies to variables not to types? >>> >>> so I came here ask to experts. Is that true? >>> >>> At gcc manual I found Type Attributes and Variable attributes, so I'm >>> assuming both exists how differentiate from one to another? >>> >>> Regards, >>> >>> -- >>> "Do or do not. There is no try" >>> Yoda Master >>> -- >>> To unsubscribe from this list: send the line "unsubscribe >>> linux-c-programming" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> > > > > -- > "Do or do not. There is no try" > Yoda Master -- "Do or do not. There is no try" Yoda Master -- To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html