以前のエントリで「C#からC++のDLLを呼ぶ方法」を書いた。今回はその逆で「C++からC#のDLL関数を呼ぶ方法」を考える。 これが必要になるのは次のようなシチュエーション。C++で書かれたアプリがあり、今回そのアプリに機能を追加したい。もちろんC++で地道にコーディングすれば機能は追加できるけど工数は多くなる。C#と.NETを使えば工数が少なくなるのは明らかなので、今更C++でコーディングするのはだるい。サクサクっとC#でコーディングして、それをC++から呼べると楽だよね? 方法としては、C++からC#のDLLを直接呼ぶことはできないので、C#で作成したCOMをC++から呼ぶことになる。以下にテストコードを示す。 テストDLL (C#) のソース DLLを作成するために、Visual C#で「クラスライブラリ」としてプロジェクトを作成する。 using System; using Sy