首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
编程技术
发新帖
0
0
[求助]一个宏
发表于: 2009-5-9 22:54
3443
[求助]一个宏
haithink
1
2009-5-9 22:54
3443
哪位仁兄解释一下
#define offsetof(s,m) (size_t)&(((s*)0)->m)这个宏是返回偏移量的,可我看不懂。
&(((s*)0)->m)返回的是0x0000000x之类的数字,反正x就是偏移量, (size_t)强制转换,可(((s*)0)->m)是怎么产生作用的呢?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
3
)
大孩子
雪 币:
125
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
91
粉丝
0
关注
私信
大孩子
2
楼
(s*)0 : 0地址的指针转换成结构体s的指针,
((s*)0)->m : 指向结构体指针s的成员变量m
&(((s*)0)->m) : 取s的成员变量m的地址
(size_t) &(((s*)0)->m) 将m的地址转化成unsigned int 变量 ,即 size_t 型变量、
提示:由于结构体的地址为0 ,所以m的地址即m地址相对于结构体地址的偏移量,当然0地址是不可以用,它紧紧是欺骗了编译器,获取了m的地址相对于结构体地址的偏移量。
2009-5-9 23:20
0
大孩子
雪 币:
125
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
91
粉丝
0
关注
私信
大孩子
3
楼
不知道我的解释是不是够详细,,楼主理解了没 ,我语文不行,望见谅 !
2009-5-9 23:24
0
haithink
雪 币:
354
活跃值:
(157)
能力值:
( LV7,RANK:100 )
在线值:
发帖
30
回帖
200
粉丝
1
关注
私信
haithink
1
4
楼
谢谢你!!
这么大晚还回答。答复很详细。我调试下市这样的
2009-5-9 23:51
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
haithink
1
30
发帖
200
回帖
100
RANK
关注
私信
他的文章
[原创]看雪 -- 10年
24674
[求助]IDA 6.6 中如何在调试时查看某个浮点寄存器的值
7600
[原创]回忆过往的几年
4030
[推荐]“内核姐”来了
5656
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部