#24
是字节对齐, 看看下面的程序, 是别人写的:
#include
#include
#include
int main()
{
struct std {
int age;
char name[128];
char ch;
int score;
} __attribute__((packed)); //137
printf("sizeof std is %dn",sizeof(struct std));
struct std_aligned {
int age; // 4
char name[128]; // 128
char ch; // 1 --> 136
int score; // 4
} __attribute__((aligned)); // 140
printf("sizeof std_aligned is %dn",sizeof(struct std_aligned ));
struct std_aligned8 {
int age;
char name[128];
char ch;
int score;
} __attribute__((aligned(8)));
printf("sizeof std_aligned8 is %dn",sizeof(struct std_aligned8 ));
struct std_aligned16 {
int age;
char name[128];
char ch;
int score;
} __attribute__((aligned(16)));
printf("sizeof std_aligned16 is %dn",sizeof(struct std_aligned16 ));
struct std_aligned4 {
int age;
char name[128];
char ch;
int score;
} __attribute__((aligned(4)));
printf("sizeof std_aligned14 is %dn",sizeof(struct std_aligned4 ));
getchar();
return 0;
}
最后
以上就是淡然火车最近收集整理的关于c语言中的str pack,请问C语言中__ATTRIBUTE_PACK__做什么用?的全部内容,更多相关c语言中的str内容请搜索靠谱客的其他文章。
发表评论 取消回复