“模块没有加载到默认加载地址。” - 现在有意义吗?

时间:2010-12-03 04:55:50

标签: windows winapi dll

“模块未加载到默认加载地址。” - 从性能的角度来看,此警告信息现在是否有意义。

回到10 - 20年前,如果模块被加载到不是首选的基本地址,则重新映射功能地址可能会有一些性能损失,但现在只需几毫秒即可。

我是对的还是我错过了什么?

1 个答案:

答案 0 :(得分:3)

从性能的角度来看,可能不是,但它会对内存使用产生影响。 Windows DLLs aren't position-independent code因此,当必须将DLL重定位到不同的地址时,链接器必须实际修改其机器代码。这意味着它无法与其他进程共享;每个程序都有自己独立的代码副本。另一方面,当DLL在多个程序中加载其首选地址时,可以在它们之间共享相同(未修改)的页面,从而节省内存。