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

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

2021-2-2 12:07
31019

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

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).

请大家发表自己的看法


阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回