Home
Support
ライブラリ関数呼び出しノードで呼び出したDLLはどのタイミングでメモリに読み込まれますか?
ライブラリ関数呼び出しノードで呼び出したDLLはどのタイミングでメモリに読み込まれますか?
使用ソフトウェア:
使用ソフトウェア・バージョン: 1.0
使用ソフトウェア・バージョンに特化:
二次のソフトウェア: N/A
問題: LabVIEWでのメモリー管理をより注意深く行いたいです。LabVIEWはライブラリ関数呼び出しノードでどのタイミングでDLL(ダイナミックリンクライブラリ)をメモリに読み込みますか?
解決策: ライブラリ関数呼び出しノードを含むVIがメモリに読み込まれたときにDLLも読み込まれます。これには2つの場合が考えられます。
- ライブラリ関数呼び出しノードがブロックダイアグラム上のサブVIの中にある場合、もしくは最上位VIのブロックダイアグラムの中にある場合
この場合、トップレベルのVIを開いたときにサブVIがメモリーに読み込まれます。そして同時にライブラリ関数呼び出しノードによって指定されたDLLが読み込まれます。DLLを呼び出しているVIが完全に閉じられ、メモリから開放された時に、DLLもメモリから開放されます。
- ライブラリ関数呼び出しノードがリファレンス呼び出しノードによって呼び出されるサブVIの中にある場合
この場合では、「VIリファレンスを開く(Open VI Reference)」VIが実行された時にサブVIがメモリに読み込まれます(通常リファレンス呼び出しノードの直前です)。呼び出されたVIリファレンスが閉じられた時に、DLLがメモリから開放されます。
関連リンク: Developer Zone サンプルプログラム: Controlling DLL Loading At Runtime in LabVIEW
Developer Zone サンプルプログラム: Using Call by Reference with VI Server
添付:
報告日時: 08/31/2005
最終更新日: 01/14/2009
ドキュメントID: 3OUJ9U4B
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.