开发者

"the module didn't load at the default load address." - does it make sense nowadays?

开发者 https://www.devze.com 2023-01-28 11:45 出处:网络
\"the module didn\'t load at the default load address.\" - does this warning message makes sense nowadays from a performance point of view.

"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?


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消