2016-07-07 14 views
-1

私の状況では、モジュールをバイナリにリンクするのに最適な解決策を知りません。ダイナミックリンクまたはDL APIによる動的ロードのいずれかそれを知っ共有ライブラリの動的リンクまたは動的ロード?

  1. 私たちは、あなたが(私たちは例えば#ifndefのMODULEを行うことができます)リンクするライブラリの関数を使用するかしないかどうかを示すコンパイルのためのフラグを指定することができます。
  2. ライブラリ関数は、実行時に1回のみ使用されます。

追加情報が必要な場合は、躊躇しないでください。

+1

ダイナミックローディングは、プログラムがライブラリなしで機能できる場合にのみ意味があります。 – Siguza

+0

ライブラリ関数はプログラムの開始時にのみ使用されますか?たとえば、ライブラリ関数を実行可能ファイルとして実行し、 'exec()'を使ってメインアプリケーション(paramsの形式で関連情報を取得)を実行するプロセスを置き換えることができますか? – Galik

+0

広すぎます。例を投稿し、何の意味で_best_で何を​​意味するのかを指定してみてください。 – LPs

答えて

0

あなたの最善の答えは「依存しています」です。

たとえば、使用可能なプラットフォームが多すぎる場合は、実行前にすべての外部ライブラリをロードすることが理にかなっています。

最初にすべてのライブラリをメモリにロードするには時間がかかりますが、オンデマンドでライブラリをメモリにロードしたい場合があります。

プラットフォームに大量のメモリがない場合は、オンデマンド読み込みのほうが理にかなっています(使用頻度の低いライブラリを読み込んでメモリに保存しないでください)。

DLLにパッケージする前に、関数の使用頻度を考慮する必要がある場合があります。

関連する問題