C++/CLI, C#, VB.NET 混在プログラミングの注意点

C++/CLI, C#, VB.NET を混在させる場合、C#, VB.NETからC++/CLIのクラスライブラリを呼び出す場合に注意が必要となります。

これは、C++/CLIはデフォルトでは32bit向けのコードが生成されるが、C#, VB.NETでは、Any CPU(実行環境により32/64bitが切り替わる)コードが生成されるため。
このAnyCPUで作成されたコードをx64環境で動作させた場合、64bitプログラムとして動作します。
そのため32bitのC++/CLIクラスライブラリは呼び出すことができません。
この問題に対処するためには、C#, VB.NETをAny CPUではなくx86に限定することで対応できますが、本来であればC++/CLIのコードをAny CPUにするべきですよねぇ・・・

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です