C++/CLI でアンマネージ タイプ ライブラリをロードするために LoadTypeLib を呼び出しています。一部のコード領域をマネージドとしてコンパイルし、一部のコード領域をアンマネージド (ネイティブ) としてコンパイルし、混合モード クラス ライブラリを実行可能として形成する必要があります。
マネージドおよびネイティブとしてそれぞれコンパイルするには、どの部分をマネージドおよびアンマネージド (ネイティブ) にする必要がありますか?
C++/CLI でアンマネージ タイプ ライブラリをロードするために LoadTypeLib を呼び出しています。一部のコード領域をマネージドとしてコンパイルし、一部のコード領域をアンマネージド (ネイティブ) としてコンパイルし、混合モード クラス ライブラリを実行可能として形成する必要があります。
マネージドおよびネイティブとしてそれぞれコンパイルするには、どの部分をマネージドおよびアンマネージド (ネイティブ) にする必要がありますか?
#pragma managed
プッシュとオン/オフ、次にポップで使用することをお勧めしますが、#pragma unmanaged
実際にはまったく役に立ちません。
#pragma managed は使用しないでください。これは「悪」と見なされ、DLL の初期化/シャットダウンで問題が発生する可能性があります。
一部のファイルを管理対象 (/clr) として明示的にコンパイルし、一部のファイルをネイティブ (/clr なし) として明示的にコンパイルすることをお勧めします。また、マネージ用とネイティブ用の 2 つのプリコンパイル済みヘッダーを使用することもできます。