首页
社区
课程
招聘
谁有空帮忙看一下啊
发表于: 2013-6-13 12:37 3567

谁有空帮忙看一下啊

2013-6-13 12:37
3567
struct
        {
        char p1;
        long p2;
        }code;

sizeof(code)为什么等于8啊。求教

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 496
活跃值: (286)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
2
因为memory alignment,内存对齐。
2013-6-13 12:58
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
你没有设置对齐字节数,所以编译器默认按照4字节对齐了,所以是8。

#pragma  pack(push)
#pragma  pack(1)
struct
  {
     char p1;
     long p2;
  }code;
#pragma  pack(pop)

这样改之后,就应该是你想要的了。

PS:这种问题属于比较基础的问题。在论坛里应该有不少问过的,所以你可以去试着搜索一下。或者直接度娘谷歌的都行,实在找不着了再开新帖子问。。。
2013-6-13 13:02
0
雪    币: 496
活跃值: (286)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
4
手机不方便回复,感谢楼上回复。
2013-6-13 13:04
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
多谢大家的回复
2013-6-13 13:27
0
游客
登录 | 注册 方可回帖
返回
//