概述
#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 pack,请问C语言中__ATTRIBUTE_PACK__做什么用?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复