DllExport を使う上での注意点

1. static と public を付ける

o unsafe static public int func1(int a, int b, int c)
x unsafe static int func1(int a, int b, int c)
x  unsafe public int func1(int a, int b, int c)
x  unsafe int func1(int a, int b, int c)

付けないとエクスポートされない

2. 呼び出し規約に注意、標準で __clrcall なので __fastcall で定義して呼び出す。
使っているDllExportによっては __stdcallに変更も可能。
違う規約で呼び出すとクラッシュする・ω・

3. DllExportが有効かどうかは対象のExport テーブルが存在するかで確認する。PE関連のツールで確認可能。

4.ちゃんと機能しない場合はビルドイベントに組み込まれているかと ILdasm のバージョン確認。

おすすめ

コメントを残す

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