- ベストアンサー
CからMFCのDLLは呼出し可能?
C言語プログラムからMFCで作ったDLL(MFC AppWizard)を呼び出すことは可能でしょうか? Cで作ったDLL(Win32 Dinamic-Link Library)と同じように呼び出せるのでしょうか? ご教示お願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
extern "C"を使って、関数をC結合にしておくと同時に、Cにない型や互換性がない型(boolや列挙型やクラス等)を引数や返却値に使わないことが必須条件です。 他には、関数から例外が送出されないように保証してやる必要があります。CプログラムなのにC++の例外が送出されても、どうすることもできませんから。
その他の回答 (1)
- rinkun
- ベストアンサー率44% (706/1571)
回答No.1
DLL側でC言語インターフェースに合わせた関数宣言(extern "C" 宣言したもの)を用意してやれば問題なくアクセスできるはず。 DLLのインタフェースでクラスなどC++特有の機能を使ってると呼び出しようがないのでC++でラッパを作成してC言語インタフェースに合わせる必要がある。
質問者
お礼
ご回答ありがとうございました。
お礼
ご回答ありがとうございました。