gpt4 book ai didi

c++ - 即使 EXE 没有直接使用符号,如何强制 DLL 依赖?

转载 作者:行者123 更新时间:2023-11-30 00:39:00 25 4
gpt4 key购买 nike

我有一个依赖于 B.DLL 的 A.DLL。 A.DLL 包含一些初始化代码 (DllMain),用于向 B.DLL 注册内容。

我还有一个可执行文件 E.EXE,它不直接引用任何 A.DLL 符号,但它通过从 B.DLL 获得的通用接口(interface)使用 A.DLL 的内容。

问题是 A.DLL 永远不会加载到 E.EXE 的进程中,因为它导出的符号都不是 E.EXE 的导入。

我可以在不实际引用 E.EXE 中的 A.DLL 符号,不反转 A.DLL 和 B.DLL 之间的依赖关系(或创建依赖循环),并且不使用显式 LoadLibrary() 调用?

编辑:这个问题是在带有 Visual Studio 的 Windows 上产生的,但可移植性是一个问题,因此 LoadLibrary() 不可用。

最佳答案

您可以指定 /INCLUDE链接器选项并提供由 A.dll 导出的符号。

即使您的可执行文件并未真正引用该符号,该选项也会强制链接器将 A.dll 添加到依赖项中。

关于c++ - 即使 EXE 没有直接使用符号,如何强制 DLL 依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com