韦大叔的书这里是不是写错了,应当是指向下一个结构体...

2020-01-01 17:49发布

WDS的书上有一段,
讲bootloader的15.1节

其中,tag_next 定义如下,它指向当前标记的末尾:

#define tag_next(t) ((struct tag *)((u32 *)(t) + (t)->hdr.size))


这个宏定义里面,嗯

首地址是t,加上一个tag的大小后
地址应当变成下一个tag,而不是
本tag的末尾

就像一个tag结构体,
大小是10个byte,首地址是
0x8000 0000
那么加上10个byte以后,指向
的是0x8000 000A,
是另外一个tag,而不是本tag的末尾,
因为本tag的末尾是
0x8000 0009

不知道是我对了,还是他错了……
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
zchong
1楼-- · 2020-01-02 18:40
这是在玩弄辞藻吗
他说的结尾可能就是你理解的开始,你只需要明白原理,并做了验证即可
klxx68
2楼-- · 2020-01-02 20:43
个人觉得你是对的。
darkness27
3楼-- · 2020-01-03 02:40
感兴趣韦大叔的书是哪本?
Firman
4楼-- · 2020-01-03 05:18
感觉楼主是被盗号了,或脑袋被驴踢过了。
以前的“发开”妹子,不会问这么幼稚的问题的。

小学数学,十棵果树一排,你家的首个数编号是8000,
摘果时,你摘了编号是8000+10的树,你是小偷么?
Firman
5楼-- · 2020-01-03 08:29
 精彩回答 2  元偷偷看……
sunliezhi
6楼-- · 2020-01-03 13:54
19504643 发表于 2016-7-31 15:21
不知道是我对了,还是他错了……

楼主先将语文中的逻辑搞对了再说吧

一周热门 更多>