語言中struct結(jié)構(gòu)體定義中?
1、__packed是字節(jié)對(duì)齊的意思。
比如說int float double char它的總大小是4 + 4 + 8 + 1 = 17
但如果不用__packed的話,系統(tǒng)將以默認(rèn)的方式對(duì)齊(假設(shè)是4字節(jié)),那么它占4 + 4 + 8 + 4 = 20;(不足4字節(jié)以4字節(jié)補(bǔ)齊)。
2、在VS2008上述方法不能用了,如果想設(shè)置對(duì)齊方式,只要選擇工程屬性-配置屬性-C/C++-代碼生成就能設(shè)置,它的選項(xiàng)有1、2、4、8、16。在GCC下,可以在加上#pragma pack(4) 4字節(jié)對(duì)齊的意思,其它同理。