• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:独自アプリのAPI公開方法について)

独自アプリのAPI公開方法について

このQ&Aのポイント
  • Visutal C++ 2008(MFC)を用いてソフトウェアを開発しています。
  • ネットワーク通信系のソフトウェアを開発しており、EXE側とDLL側で通信関数を共有したいです。
  • API公開用のDLLを用意してEXEとDLLの両方でロードする方法以外にも良い方法はあるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

普通はEXE側に実装した関数を公開するという作り方はしません。 一番よく使われる手法は、通信機能を抽象クラス化し、抽象クラスを継承したクラスをDLL側に実装しExportするというのが一般的と思われます。 DLLをロードライブラリし、DLL側に抽象クラスを継承したクラスの実体を生成する決まった名前の関数を実装します。 (戻り値は抽象クラスのポインタ) 抽象クラスにメッセージ受信時のメソッドや、メッセージを送信するための関数を用意すれば後は、DLL側に実装したクラス側で実際の処理を記述すれば良いのみとなります。 どうしても分からなければ、ご連絡頂ければサンプルを作ってみたいと思います。

sho1get
質問者

お礼

なるほど。よく分かりました。 実際にEXE側で抽象クラスをを作成して、DLL側で継承クラスを作成 していたので、あとはメッセージの送受信を抽象クラスに用意すれば 良いのですね。 モヤモヤが解けた感じでスッキリしました。 どうもありがとうございました。

関連するQ&A