フックのようなシステムを実装するにはどうすればよいですか?
これは私の設定です:私のアプリケーション内でフックする
私はこれらの静的ライブラリを持っている:
- A.lib
- をB.lib
AとBは内一緒に含めることができるモジュールのようなものです同じアプリケーション。私はAに、Bに公開する関数を持っています。私はコールバックリストを使ってこれを行っていました...しかし、私はこの考え方には満足していません。だから、私はWin32APIのようなフッキングのようなシステムを実装できると思うが、専門家からの意見を聞きたい。
もちろん、両方のソースコードにアクセスできます。
注:私はクラスを使用していないと言及していませんでした。設計上の理由から、このプロジェクトのクラスやオブジェクトを作成できないため、継承のようなものは許可されていません。
すばやくお返事ありがとうございます。はい、私は行いましたが、この機能だけを公開したいので、機能のためにアプリケーションに追加の依存関係を生成するのは無意味です。 – Veehmot
フックメカニズムは、動的な複雑化の余分な助けと共有された依存性ではあまり勝てないでしょう。両方のライブラリがアクセスできるフックを置く場所があれば、その場所に関数を置くだけです。 –
私は今あなたのポイントを見ます。これは良いアプローチですが、私は他の答えを待つでしょう。静的ライブラリを利用して、関数やそのようなものを置き換えるような、コンパイル時の解決策にはうれしいでしょう。 – Veehmot