免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3628 | 回复: 13
打印 上一主题 下一主题

问个问题,有关sizeof变成4的倍数的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-28 14:06 |只看该作者 |倒序浏览
我在用eclipse作程序

发现一个问题,用sizeof取一个结构的长度的时候,他会自动帮你凑成4的倍数

这样使我用的时候十分不好用

我想问问,是不是有什么选项可以去掉这个功能?

还是根本没有办法?

论坛徽章:
0
2 [报告]
发表于 2008-11-28 14:13 |只看该作者
你可直接查看编译器的手册,这都是编译器给你整的。。。。

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
3 [报告]
发表于 2008-11-28 14:33 |只看该作者
结构体的字节对齐。。4的倍数那是你的结构体里成员的最长成员为4字节。(或者开了强制4字节对齐选项)

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
4 [报告]
发表于 2008-11-28 14:38 |只看该作者
#pragma pack(1)

论坛徽章:
0
5 [报告]
发表于 2008-11-28 17:41 |只看该作者
楼上高手!

论坛徽章:
0
6 [报告]
发表于 2008-11-28 17:56 |只看该作者
原帖由 hellioncu 于 2008-11-28 14:38 发表
#pragma pack(1)

你那个是MS的吧?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2008-11-28 17:57 |只看该作者
设置一下对齐的参数

论坛徽章:
0
8 [报告]
发表于 2008-11-28 19:32 |只看该作者

回复 #6 alexhappy 的帖子

能行,我试过,不过有副作用,就是结构题里面的元素也会变成一字节对齐

[ 本帖最后由 famdestiny 于 2008-11-28 19:33 编辑 ]

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
9 [报告]
发表于 2008-11-28 19:38 |只看该作者
原帖由 alexhappy 于 2008-11-28 17:56 发表

你那个是MS的吧?

gcc也支持。

论坛徽章:
0
10 [报告]
发表于 2008-11-28 20:42 |只看该作者
可以自己设置多少字节对齐,
hellioncu  (温柔恶男) ,的说法是对的。

不过不知道lz为啥不愿意4字节对齐。我记得以前看协议栈代码的时候,多数都是:

#pragma pack(4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP