跨dll延迟加载

时间:2012-10-05 08:02:04

标签: c++ windows dll global-variables

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

1 个答案:

答案 0 :(得分:0)

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

  

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

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

相关问题