"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.
精彩评论