开发者

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

"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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜