Chinaunix首页 | 论坛 | 博客
  • 博客访问: 244431
  • 博文数量: 39
  • 博客积分: 199
  • 博客等级: 二等列兵
  • 技术积分: 426
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-25 14:39
个人简介

博客已全部转移至个人站 www.jasonwho.com

文章分类

全部博文(39)

文章存档

2017年(2)

2014年(1)

2013年(28)

2010年(8)

分类: C/C++

2013-04-22 15:22:50

该用法是__attribute__属性的作用之一,用来告诉编译器不要对结构中的数据进行对齐优化。其它属性后续再解释。

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. struct pk{
  3.         int china;
  4.         char name[2];
  5. };
  6. struct pk2{
  7.         int china;
  8.         char name[2];
  9. }__attribute__((packed));

  10. struct __attribute__((packed)) pk3{
  11.         int china;
  12.         char name[2];
  13. };

  14. int main()
  15. {
  16.         printf("sizeof(pk): %d, sizeof(pk2): %d sizeof(pk3): %d\n",
  17.                 sizeof(struct pk), sizeof(struct pk2), sizeof(struct pk3));
  18.         return 0;
  19. }
Linux gcc-4.1.2下结果为8 6 6
阅读(2715) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~