0

カスタム ロードする他の dll に依存する dll をロードするアプリケーションがあります。私が抱えている問題は、ある dll の __pfnDliFailureHook2 の定義が、他の dll をロードするときに引き継がれないことです。vairable を dllexport として定義すると、対応する dllimport なしで delayhlp.cpp で既に定義されているため、再定義エラーが発生します。DLL 間でこのような一貫したグローバル変数を定義する正しい方法は何ですか?

4

1 に答える 1

0

すべての DLL が同じ C++ ランタイムを共有している場合、それらは同じ失敗フックを共有します。ただし、関連する DLL の一部はランタイムを共有していないようです。これは、そのような DLL に失敗フックを課すことができないことを意味します。

DLL 間でこのような一貫したグローバル変数を定義する正しい方法は何ですか?

それを行う方法はありません。DLL がグローバル変数を共有する場合、すべての DLL が協力して共有する必要があります。外部から押し付けることはできません。各 DLL はオプトインする必要があります。

于 2012-10-05T08:52:31.937 に答える