LoadLibrary()
DllMain [ソース]から呼び出すのは安全ではないことを読みました。
しかし、コンソールアプリケーションのエントリポイントから呼び出すのは安全main()
ですか?これに関する情報が見つからないようです。
ありがとう!
はい、安全です。LoadLibrary
から電話をかけることができなかった場合main
、コンソールプロセスのどこからでも電話をかけることができませんでした。
DllMain
「ローダーロック」は呼び出し中に保持され、プロセスが完全に初期化される前に(静的にリンクされたDLLの場合)呼び出されるため、特別です。
あなた自身のリンクから:
エントリポイント関数は、単純な初期化または終了タスクのみを実行する必要があります。LoadLibraryまたはLoadLibraryEx関数(またはこれらの関数を呼び出す関数)を呼び出さないでください。これにより、DLLのロード順序に依存関係ループが作成される可能性があります。
コンソールアプリケーションはDLLローディングチェーンの一部ではないため、安全です