ダイナミックリンクライブラリ(DLL)の優れている点は何でしょうか



ハードウェア: PXI/CompactPCI>>Controllers

問題:
コードインターフェースノード(CIN)とダイナミックリンクライブラリ(DLL)とではどちらを使うべきでしょうか。どちらがより優れていますか。

解決策:
その選択肢ではDLLを選択するのが良いでしょう。DLLには以下のような優れた点があります。

  1. メモリーを節約し、スワッピングを減らします
    多くのCPUでは単一のDLLしか同時に使えず、メモリーの中で1つだけのDLLのコピーを共有します。反対に静的なCINコードモジュールから構成されたアプリケーションの場合、Windowsはそれぞれのアプリケーションに対してプログラムのコピーをメモリーに読み込まなければなりません。

  2. ディスク領域の節約
    多くのアプリケーションでディスク上の1つのDLLを共有できます。反対に、静的なCINコードモジュールで構成されたアプリケーションはそれぞれが実行可能イメージにコンパイルされたコードを別々に持っています。

  3. 機能拡張や修正がDLLでは容易
    DLLの機能が変わっても、引数や戻り値が変わらない限りアプリケーションは再コンパイル、再リンクを行う必要はありません。反対に、機能に変更がある場合CINではオブジェクトコードを変更する必要があります。

  4. より強力な開発支援環境
    実質的に現在のアプリケーション開発環境ではすべてDLLを作成する環境がサポートされています。LabVIEWではCINを作成する開発環境の一部のみの提供となります。

LabVIEW以外で作られた実行可能ファイルにおいてDLLを使う際は、DLLをサポートファイルとして同梱することを忘れてはなりません。これはDLL利用の潜在的に不利な点です。



関連リンク:
Deveolper Zone Tutorial: Writing Win32 Dynamic Link Libraries (DLLs) and Calling Them from LabVIEW Developer Zone Tutorial: An Overview of Accessing DLLs or Shared Libraries from LabVIEW

添付:





報告日時: 03/02/2005
最終更新日: 06/03/2009
ドキュメントID: 3J1LRT3U