LabVIEWで作成された共有ライブラリの特性
- 更新日2025-08-27
- 3分で読める
LVDLLStatus関数
LabVIEWで作成されたすべてのDLLには、エクスポートする関数に加えて、以下のプロトタイプを持つLVDLLStatusと呼ばれるエクスポート関数が含まれます。
MgErr LVDLLStatus(CStr errStr, int32 errStrLen, void *module)呼び出し側のプログラムでは、LabVIEWのDLLが正しくロードされたことを確認するこの関数が使用されます。DLLをロード中にエラーが発生すると、関数はエラーを返します。errStrパラメータに文字列バッファを渡し、エラーに関する追加情報を受け取ります。errStrとして渡される文字列バッファのバイト数にerrStrLenパラメータを設定します。モジュールパラメータを使用して、DLLにより使用されているLabVIEWランタイムエンジンへのハンドルを回収します。通常、このパラメータはNULLとして残すことができます。
LVDLLStatus関数は、LabVIEWランタイムエンジンのロード中にLabVIEWがこの関数を呼び出すと実行をブロックします。
SetExecuteVIsInPrivateExecutionSystem関数
LabVIEWで作成されたすべてのDLLには、エクスポートする関数に加えて、以下のプロトタイプを持つSetExecuteVIsInPrivateExecutionSystemと呼ばれるエクスポート関数が含まれます。
Void SetExecuteVIsInPrivateExecutionSystem(Bool32 value)この関数を使用し、LabVIEWで作成された共有ライブラリを他の言語のアプリケーションに呼び出す際に、LabVIEWがVIをマルチスレッド実行システムで実行するかどうかを指定します。値パラメータに1を渡した場合、LabVIEWで作成された共有ライブラリを他の言語のアプリケーションに呼び出す際に、LabVIEWはVIをマルチスレッド実行システムで実行します。この関数を呼び出すと、この関数の値パラメータは、共有ライブラリプロパティダイアログボックスの詳細設定ページにあるプライベート実行システムでVIを実行チェックボックスの値を上書きします。
(macOS) LabVIEWで共有ライブラリの一部を構築するには、アプリケーションビルダはgcc (UnixおよびmacOSオペレーティングシステム用標準コマンドラインコンパイラ) を使用する必要があります。Xcode (Appleコンピュータ用標準開発環境) を使用してgccをインストールします。XcodeはMac App Storeから無料でダウンロードできます。
メモリの割り当て
ハンドルとして公開されているLabVIEW配列タイプのメモリ割り当てを管理するために、LabVIEWが作成した共有ライブラリは、ハンドルとして公開されている各配列タイプに割り当て、解放、サイズ変更関数を提供します。生成された共有ライブラリに特有の関数プロトタイプを表示するには、生成されたヘッダファイルを開きます。