ダイナミックリンクライブラリ(DLL)の優れている点は何でしょうか
ハードウェア: PXI/CompactPCI>>Controllers
問題: コードインターフェースノード(CIN)とダイナミックリンクライブラリ(DLL)とではどちらを使うべきでしょうか。どちらがより優れていますか。
解決策: その選択肢ではDLLを選択するのが良いでしょう。DLLには以下のような優れた点があります。
- メモリーを節約し、スワッピングを減らします
多くのCPUでは単一のDLLしか同時に使えず、メモリーの中で1つだけのDLLのコピーを共有します。反対に静的なCINコードモジュールから構成されたアプリケーションの場合、Windowsはそれぞれのアプリケーションに対してプログラムのコピーをメモリーに読み込まなければなりません。
- ディスク領域の節約
多くのアプリケーションでディスク上の1つのDLLを共有できます。反対に、静的なCINコードモジュールで構成されたアプリケーションはそれぞれが実行可能イメージにコンパイルされたコードを別々に持っています。
- 機能拡張や修正がDLLでは容易
DLLの機能が変わっても、引数や戻り値が変わらない限りアプリケーションは再コンパイル、再リンクを行う必要はありません。反対に、機能に変更がある場合CINではオブジェクトコードを変更する必要があります。
- より強力な開発支援環境
実質的に現在のアプリケーション開発環境ではすべて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
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.