XCode IOS使用#pragma pack(8)无效

31 篇文章 0 订阅
12 篇文章 0 订阅

http://hi.baidu.com/123_mu_tou_ren/item/55fa93034b95fd33a3332a24

如果指定 #pragma pack(N) 中的 N 的话,N 不能大于默认对齐指定的长度,即如果默认对齐是 4 的话,N的取值可以是 1、2、4,超过 4 之后作为 4 处理。在 Windows 等系统上似乎没有这个限制。

#pragma pack(8)

怎么测试仍然是4字节对齐


不知为什么,必须使用__attribute((aligned (n))) 才有用

代码设置也无效
#pragma pack(8)
    struct S_Test{
        char c;
        long long l;
    };
    GLOBAL_STATIC_ASSERT( 12 == sizeof(S_Test));//为什么不是16??
#pragma pack()


20140529:__attribute((aligned (n))) 只能在尾部填充空白字节,无法设置每个成员的对齐方式

究竟如何设置XCODE IOS 为8字节对齐?谁知道请告诉我?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值