対静的私は3つの主要な部分があります。リンク:私のアプリケーションの動的
- をexeファイル:実行可能ファイル
- Lib_A:ライブラリがで使用するいくつかの計算のためのシングルトンクラスと基本クラスが含まれていますシングルトン クラスLib_B
- :ライブラリはLib_A
Lib_Bがある中で、私は派生クラスを持っている理由でベースから派生したクラスの数が含まれています、私は希望しますExeから実行時にLib_Bをコンパイルする。私はシステム全体を終了させることなく、計算中に派生クラスを生成する必要があります。これは私にはあまりにも重要です。つまり、最初はLib_B1が動的に読み込まれたと言っているかもしれませんし、他のバージョンのLib_BをLib_B2、Lib_B3、Lib_B4などとしてコンパイルし、それらを動的に読み込むこともできます。すべてのLib_Bxライブラリには、クラスをエクスポートするためのエントリポイント関数があります。
ので、アカウントに次の事実を取る:
- 実行時に同じLib_Aを共有しているファイルの様々な数があるでしょう。
- アプリケーションはWindowsおよびLinuxで実行する必要があります。したがって、部分的なクロスプラットフォーム性が問題です。
- 私はQtは、静的または動的の両方のexeファイルに対してLib_Aのリンクの長所と短所は何ですか
システム全体の設計は私にとっては非常に難しい問題であるため、コメントをいただければ幸いです。
ありがとうございました。
WindowsではMSVC++コンパイラ、LinuxではインテルC++コンパイラを使いたいです。両方とも、GCCよりも最適化されたコードを生成すると思います。このアプリケーションは、私のためのものです。私はそれを販売するつもりはありません。 –
@sad_man:VCとICCの再配布権を取得する予定ですか?それで幸運。 – ephemient
@ephermient:私は現在、私のアプリケーションをdistiributeしていません。しかし、将来、それを販売すれば、明らかにクライアントは自分のコンパイラーのコピーを提供します。私はそれが良いとは思わないが、これはコンパイルされたバイナリコードの速度を得るためのトリックであることを知っている。今のところ私はVCとICCで大丈夫です。最悪の場合、GCCでアプリケーションを配布できますか? :) –