为什么不可能*将本机共享库(DLL)“重新链接”到可执行文件中,就像它们已经静态链接一样? DLL是否缺少任何必需的信息?
*注意:或者它实际上是否可行?如果是,请告诉我,但通过搜索,我认为这是不可能的。
答案 0 :(得分:1)
这不是直接可能的。
当EXE加载DLL(通过LoadLibrary
)时,DLL加载程序完成批次工作以修补地址。你不能只是将 与组合在一起,因为它的地址错误如果它不是动态 >装载。
另一方面,LIB是静态链接的:没有加载,没有地址修复,当你启动程序时,一切都没有进一步的工作。
可以做的是将DLL和EXE转换回OBJ并将它们静态链接在一起。