首页
社区
课程
招聘
[讨论] <<程序员的自我修养 -- 链接、装载与库>> 书籍相关问题
发表于: 2021-2-2 12:07 32609

[讨论] <<程序员的自我修养 -- 链接、装载与库>> 书籍相关问题

2021-2-2 12:07
32609

<<程序员的自我修养 -- 链接、装载与库>> 书籍相关问题

SECTION HEADER中的Virtual Size字段

问: VirtualSize代表的含义?

书中的答案:该段被加载至内存后的大小.
微软官方文档给的回答如下:

1
The total size of the section when loaded into memory. If this value is greater than SizeOfRawData, the section is zero-padded. This field is valid only for executable images and should be set to zero for object files.

个人看法:VirtualSize代表代码原始大小,未按照磁盘对齐之前的大小。

书籍9.3.1重定位基址(267页)

书中一处矛盾,原文:Windows PE采用了一种与ELF不同的方法,它采用的是装载时重定位的方法.但前文(7.3.2节,190页)中提到:

1
我们前面在静态链接时提到过重定位,那时的重定位叫做链接时重定位(Link time relocation), 而现在这种情况经常被称为装载时重定位(Load Time relocation),在Windows中,这种装载时重定位又被叫做基址重置(Rebasing).

请大家发表自己的看法


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//