0

たとえば、C/C++ で書かれた画像処理プログラムのインターフェイスがあります。また、フィルター、ぼかし、ぼかし除去、サイズ変更、圧縮など、多くの計算を必要とするものがあります。このようなアプリ モジュールをどのように設計しますか? .exe インターフェイス + 相互にファイルを投げる .exe モジュールのグループ、または .exe インターフェイス + 必要なメソッドを含む .dll として?

すべての方法の長所と短所は何ですか?

.dll を使用すると、どのような場合にインターフェイスの .exe を再コンパイルする必要がありますか? モジュールに与えなければならないデータサイズは、実行のいくつかの場所でディスクに書き込むことを好むのに十分な大きさであることを提案しましょう。

前もって感謝します。

PS 画像処理は単なる例であり、そのようなモジュールを備えたシステムは問題の場所になる可能性があります。

4

3 に答える 3

1

私はDLLを使用します、それはそれらが意図されているものです。再コンパイルの観点から:EXEとDLLの間のバイナリインターフェイスを変更した場合は、DLLを再コンパイルする必要があります。

DLLを使用し、コンパイラに依存しないようにする場合は、STABLEABIを定義する必要があります。これは、C +いくつかのtypedef(charの符号、boolのサイズなど)の観点から、またはCOMがそれを処理する方法と同様に行うことができます。

私は個人的に2番目のルートに行きます-良いバイナリ安定ABIを定義するのにどれくらいの時間がかかるかを知っています...

于 2012-07-02T10:10:02.560 に答える
1

これは、システムがどの程度緊密に結合されているか、およびパフォーマンスの問題にも依存します。

  1. 異なるベンダーのコードを使用する場合は、既知の形式の共有ファイルを使用することをお勧めします。

  2. 毎秒数千の画像を処理する必要がある場合は、DLL の方が適している可能性があります。

于 2012-07-02T10:06:12.987 に答える
0

必要なメソッドで DLL を使用します。DLL はその仕事のために設計されています。

于 2012-07-02T09:59:37.933 に答える