C 言語の実行形式で使う C++ 関数のエクスポート
C++ で記述された DLL 内の関数に C 言語のモジュールからアクセスするには、C++ リンケージではなく C リンケージを使って関数を宣言する必要があります。 特に指定しない限り、C++ コンパイラは C++ のタイプ セーフな名前付け規約 (名前の装飾) と C++ の呼び出し規則を使います。C++ の規約を使うと、C からの呼び出しが難しくなります。
C リンケージを指定するには、関数の宣言に extern "C"
を指定します。 次に例を示します。
extern "C" __declspec( dllexport ) int MyFunc(long parm1);