我们有一个包含许多 dll 文件的项目,这些文件在应用程序启动时加载。 dll 文件的基地址确实重叠,因此内存镜像被重新定位。是否有可能自动分配基地址或为每个 dll 文件计算“好”基地址的方法?
最佳答案
您可以使用平台 SDK 和 Visual Studio 附带的 REBASE 实用程序,我认为可以设置应用程序加载的一大堆 DLLS 的基地址
您向 REBASE 提供组成程序的 DLLS 列表(不包括系统 DLL),然后它会执行所有 DLL 的虚拟加载并为它们分配新的基地址。
这可以作为最终构建步骤的一部分执行。
Dobbs 博士有一篇关于 rebase 的文章 here和一篇关于一般 rebase 的 Microsoft 文章 here
关于c++ - 如何将/baseaddress 设置为 "good"值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/181629/