MonoプロジェクトのGithubをうろうろしてるとなんか面白そうなのを見つけました、ってので。 mono/CppSharp ってのを見つけました。こいつは、C++のDLLを自動でラップしてくれるコードを吐いてくれる、というライブラリです。C++ネイティブのライブラリをC#から呼びたい、って場面も結構あるんですよね。特に数値計算系の処理とか。なので、昔から色々プロジェクトは盛んで、monoもCXXIってのもやってます。また、C#に限らない汎用的なツールとしてSWIGってのもあります。 これらのツールと大きくアプローチが異なるところがありまして、それは、この人、中にLLVM/Clangを飼っています。C#コードを生成する際のC++のパースにClangを用いているのですよ。なので、SWIGのように事前の型定義をしておく必要がありません。 一方で、CXXIがマルチプラットフォームをはなっから志向
![C++のライブラリを自動でC#にラップするライブラリ、Mono CppSharp - 亀岡的プログラマ日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)