0

我有一个应用程序加载依赖于我想要自定义加载的其他 dll 的 dll。我遇到的问题是我在一个 dll 中对 __pfnDliFailureHook2 的定义在加载其他 dll 时不会被继承。将 vairable 定义为 dllexport 会给我一个重新定义错误,因为它已经在 delayhlp.cpp 中定义而没有相应的 dllimport。跨 dll 定义像这样的一致全局变量的正确方法是什么?

4

1 回答 1

0

如果所有 DLL 共享相同的 C++ 运行时,那么它们将共享相同的失败挂钩。但是,似乎一些涉及的 ​​DLL 不共享运行时。这意味着您根本无法将故障挂钩强加到这样的 DLL 上。

跨 DLL 定义像这样的一致全局变量的正确方法是什么?

没有办法做到这一点。如果 DLL 要共享一个全局变量,它们必须全部合作才能这样做。你不能从外面强加它。每个 DLL 都必须选择加入。

于 2012-10-05T08:52:31.937 回答