当前位置: 首页 > news >正文

怎么创网站赚钱吗品牌运营公司

怎么创网站赚钱吗,品牌运营公司,政府采购网上商城,网站建设方案书模板结构体的字节对齐方式(__attribute_pack(packed))&#pragma pack()) 1、编译器的字节对齐方式 当前编译器都有默认的字节对齐方式, struct PackedStruct {char a;int b;short c; };如上代码段中的结构体,在编译运行后发现他的大小并不…

结构体的字节对齐方式(__attribute_pack(packed))&#pragma pack())

1、编译器的字节对齐方式

当前编译器都有默认的字节对齐方式,

struct  PackedStruct {char a;int b;short c;
};

如上代码段中的结构体,在编译运行后发现他的大小并不是7,而是12,这是因为这个编译器默认是四字节对齐。

2、取消字节对齐

__attribute__((packed))

这是 GCC 特定的编译器扩展,用来告诉编译器紧凑地排列结构体的成员,避免使用默认的内存对齐方式。

struct __attribute_pack((packed))  PackedStruct {char a;int b;short c;
};

在增加了__attribute_pack((packed))后,这个结构体的大小变为了7(char:1+int:4+short:2 = 7)

优点:

全局应用__attribute__((packed)) 作用于整个结构体,告诉编译器完全取消对齐填充,将所有成员紧密地排布在一起,按它们声明的顺序紧凑存储。

缺点:

没有灵活的控制:它不允许控制特定字节的对齐边界。也就是说,一旦使用了 packed,整个结构体都变成了不对齐的状态。

3、设置字节对齐的位数

#pragma pack() pragma pack 可以按需指定对齐的字节数,比如 1248 字节对齐。这意味着你可以设置对齐到某个特定的字节边界,而不是完全取消对齐。

例子:

#pragma pack(2)
struct  PackedStruct {char a;int b;short c;
};

那么这个结构体的大小就变成了8 ----->字节对齐为2;

当 #pragma pack() ,括号中没有参数的时候,代表取消程序员自己设定的字节对齐,但它不是和(__attribute_pack((packed)))一样完全取消,而是变为默认字节对齐方式。

http://www.zhongyajixie.com/news/41963.html

相关文章:

  • o2o苗木网站建设搜索引擎查重
  • dede淘宝客网站武汉seo楚天
  • 天津学网站建设百度sem优化师
  • 服务器网站环境网站搜索排优化怎么做
  • 环境设计哈尔滨网络seo公司
  • 做网站在哪接单外链优化
  • 做淘宝链接网站怎么自己做个网站
  • 搞一个网站花多少钱小升初最好的补课机构排行榜
  • 简述企业网站维护的重要性网络培训系统
  • 邵阳市城市建设网站公司网站的作用
  • 网站毕业作品代做怎么做市场推广
  • 郑州网站制作公司汉狮郑州网站推广报价
  • 沧州做家装的公司网站网络销售怎么做才能有业务
  • 学习网站二次开发seo营销的概念
  • 在美国如何设置dns访问国内网站seo网络优化师招聘
  • 高端网站建设wanghess艾滋病多久能查出来
  • 花都网站建设 骏域网站seo营销培训咨询
  • 知名网站制作公南宁网站优化
  • 张家港网站推广找回今日头条
  • 网上做ps赚钱的网站沈阳网站关键词优化多少钱
  • 网购app排行榜前十名潍坊网站建设优化
  • 广告公司加盟搜索引擎优化报告
  • 云南网络公司排名南宁seo结算
  • 郑州营销网站建设设计网站开发步骤
  • 网站建设保密条款希爱力副作用太强了
  • opencart做外贸网站怎样什么是seo优化?
  • 免费下载网站模板百度一下你知道主页官网
  • wordpress文章获取接口宁波seo教程行业推广
  • 各大网站的名字大全广西关键词优化公司
  • 企业网站开发 语言 收录新闻 近期大事件