4

DllMain() の前に呼び出される関数は? C ランタイムの初期化中に複数の場合は、順序が重要です。

4

3 に答える 3

5

ソースから:-

DLL が C ランタイム ライブラリ (CRT) にリンクされている場合、CRT によって提供されるエントリ ポイントは、グローバルおよび静的 C++ オブジェクトのコンストラクターとデストラクターを呼び出します。したがって、DllMain のこれらの制限は、コンストラクターとデストラクター、およびそれらから呼び出されるすべてのコードにも適用されます。

于 2013-08-21T20:14:17.433 に答える
3

_DllMainCRTStartup() のみが呼び出され、グローバル C++ オブジェクト (C の場合はありません) のすべてのコンストラクターが呼び出され、(最後のものはわかりません) DllMain() が呼び出されます。

もちろん、CRT を初期化するためにいくつかの Kernel32 関数も呼び出します (まず、メモリと TLS スロットを割り当てる必要があります)。

于 2013-08-21T20:11:54.503 に答える