zhoujiamurong
驱动小牛
驱动小牛
  • 注册日期2006-03-20
  • 最后登录2009-05-06
  • 粉丝4
  • 关注0
  • 积分1081分
  • 威望360点
  • 贡献值0点
  • 好评度215点
  • 原创分0分
  • 专家分0分
阅读:2175回复:2

sizeof 的困惑

楼主#
更多 发布于:2008-05-08 13:30
我在反汇编一个驱动程序,其中有很多自定义的结构体,但是对齐的方式让我困惑,按照应用层程序的编程做法一般就是全部对齐,不足4的倍数补足,但是我反汇编,发现驱动好像不是这样,一会对齐,一会会出现长度为3的结构体。
难不成是我反汇编出错了?谁知道驱动结构体的对齐规则是什么啊?
ggamma
驱动小牛
驱动小牛
  • 注册日期2007-02-15
  • 最后登录2009-05-26
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望180点
  • 贡献值0点
  • 好评度99点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-05-08 14:25
好又如何?

比如
STRUCT  ST{long L};
CHAR       C;
SIZEOF ST=3
SIZEOF C=1;
不行吧???


你要看一看这个:
STRUCT ST A,B;
看一下 A的BASE和B的BASE,如果B和A的BASE是4字节对齐的,不就行了吗?
zhoujiamurong
驱动小牛
驱动小牛
  • 注册日期2006-03-20
  • 最后登录2009-05-06
  • 粉丝4
  • 关注0
  • 积分1081分
  • 威望360点
  • 贡献值0点
  • 好评度215点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-05-08 15:32
原来和应用层一样的,应该是我弄错了
游客

返回顶部