(1)Visual Studio 2022 でソリューションを新規作成する。
(2)プロジェクトに、以下のファイル、ヘッダを追加する。
ncbind.cpp, tp_stub.cpp, ncbind.hpp, ncb_foreach.h, ncb_invoke.hpp, tp_stub.h
(3)自動的に追加されたソースファイル( DllMain() が含まれているもの)をプロジェクトから削除する。
(4)Visual Studio 2022 でソリューションのプロパティを開き、以下の点を修正する。
- 構成プロパティ>C/C++>コード生成>ランタイム ライブラリを「マルチスレッド/MT」もしくは、「マルチスレッド デバッグ/MTd」にする。
- 構成プロパティ>C/C++>言語>準拠モードを「規定」にする。
(5)吉里吉里からアクセスしたいメソッドを含むクラスをソースファイル中に作成する。その際、クラスのメソッドは、コンストラクタ、デストラクタも含め、全て public: スコープ内に明示してクラスを定義する。
(6)吉里吉里からアクセスしたいメソッドとクラス名を、以下の様に記述する。(下の例では、 foo クラスの bar メソッド)。
NCB_REGISTER_CLASS(foo) {
NCB_CONSTRUCTOR(());
NCB_METHOD(bar);
};
以上で、吉里吉里側から、以下の様にして呼び出すことができるようになる。
Plugins.link("foo.dll");
var a = new foo();
var a.bar();