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