“模块未在默认加载地址加载。” - 如今这句话有意义吗?

发布于 2024-10-05 18:36:52 字数 155 浏览 1 评论 0原文

“模块未在默认加载地址加载。” - 从性能的角度来看,这个警告消息现在有意义吗?

回到 10-20 年前,如果将模块加载到首选基地址以外的基地址,则重新映射 func 地址可能会对性能造成一些影响,但现在即使不是更少,也只是额外几毫秒。

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

"the module didn't load at the default load address." - does this warning message makes sense nowadays from a performance point of view.

back to 10-20 years ago there was probably some performance hit to re-map func addresses in case if a module is loaded to a base address other than preferred, but now it is just a few extra milliseconds if not less.

Am I right or am I missing something?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

撩心不撩汉 2024-10-12 18:36:52

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

From a performance standpoint, probably not, but it makes a difference in memory usage. Windows DLLs aren't position-independent code so when a DLL has to be relocated to a different address, the linker has to actually modify its machine code. That means it can't be shared with other processes; each program gets its own separate copy of the code. On the other hand, when a DLL loads at its preferred address in multiple programs, the same (unmodified) pages can be shared among them, which saves memory.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文