Re: Does __attribute__((__packed__)) aplies to types or variables?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux