need help to redefine packed c struct in d

Dakota dakota at gmail.com
Sat Sep 28 09:01:51 UTC 2024


On Saturday, 28 September 2024 at 08:35:39 UTC, Johan wrote:
> On Saturday, 28 September 2024 at 07:54:40 UTC, Dakota wrote:
>> ```c
>> struct __attribute__((packed)) type1 {
>>     uint32_t        u32;
>>     uint8_t         u8;
>>     uint16_t        u16a;
>>     uint16_t        u16b;
>>     uint8_t         u8a;
>>     uint8_t         arr[14];
>> };
>>
>> ```
>>
>> the struct size in C is 24:
>>
>> I try `pragma(packed)` and `align(1):`, the d size always is 
>> 25.
>>
>> how to fix this?
>
> Put the `align(1):` inside the struct definition.
> https://d.godbolt.org/z/qqsK1ro9v
>
> -Johan

thanks, it work.


More information about the Digitalmars-d-learn mailing list