.NetからC/C++を呼び出す
.Net な言語(C#, Visual Basic, F# など)から C++(やC言語)のライブラリを呼び出したいことってありますよね。 そういう時には、P/Invokeを使うか、C/C++ライブラリをC++/CLIでラップしてできたアセンブリを呼び出すって方法があります。
P/Invoke
C# なら [DllImport("exported.dll")]
みたいな感じで、Visual Basic なら <DllImport("exported.dll")>
みたいな感じで DllImport
属性を使います。
Visual Basic 限定で Declare
ステートメントを使う方法もあります。
C++/CLI
私個人のインターネットの観測によれば C++/CLI をメインの言語で開発している人はほとんどいなさそうです。 とはいえ、ネイティブと .Net のグルー言語としては最強です。C/C++ライブラリをラップして .Net から呼び出せる(おそらく唯一の) 高級言語です。
CppSharp
P/Invoke 呼び出しにせよ、C++/CLI によるラップにせよめんどくさいです。 そして、型の調整やらでうっかり間違える可能性だってあります。
その辺を楽にしてくれるのが CppSharp です。
Mono の下で開発されましたし、現実の問題を解決するためのツールとなっています。
GitHubのドキュメントの他に、検索すると日本語でも情報が見つかります。
ぜひ試してみてください。