LabWindows™/ CVI™または他のCプロジェクトからLabVIEW DLLを呼び出す

更新しました Dec 1, 2018

使用製品

Software

  • LabVIEW Full
  • LabVIEW Base

問題

LabVIEWでダイナミックリンクライブラリ(DLL)をコンパイルしましたが、LabWindows™/CVI™、Visual C/C ++、または他のWindows開発環境から呼び出す方法がわかりません。LabWindows/CVIまたは他のCプロジェクトでLabVIEW DLLを呼び出すにはどうすればよいですか?

解決策

LabVIEWでDLLを作成すると、DLLファイル、LIBファイル、およびHファイルの3つのファイルが作成されます。DLLファイルには、LabVIEWでプログラミングした機能が含まれています。インポートライブラリと呼ばれるLIBファイルには、DLL関数のロードと呼び出し用スタブが含まれています。ヘッダーファイルと呼ばれるHファイルには、最終的にDLLを呼び出すLIBファイルに含まれる関数を呼び出すための関数プロトタイプが含まれています。
 


別の環境でコードを使用するには、Windows SDKのLoadLibrary()およびGetProcAddress()関数を使用してDLLを直接呼び出すか、プロジェクトをLIBファイルとHファイルにリンクすることができます。その場合、プロジェクトに入っているかのように命名します。この場合、DLLが呼び出し側アセンブリと同じディレクトリにあり、CVIプロジェクトのResource Filesフォルダにあることを確認する必要があります(存在しない場合は作成します)。下記の方法は、LabWindows/CVIで作成する例で、LabVIEWで作成されたDLLへの直接呼び出しのプロセスを示しています。
  1. Edit>>Add Files to Project...>>Include (.h)...またはLibrary(.lib)...に進み、.libファイルと.hファイルをプロジェクトに追加します。
  2. DLLを呼び出すソースファイルの先頭に#includeプリプロセッサディレクティブを使用してHファイルをインクルードします。
  3. extcode.h、fundtypes.h、およびplatdefines.hのような他のLabVIEW Hファイルは、C:¥Program Files(x86)¥National Instruments¥LabVIEW¥cintoolsサブディレクトリに含めます。以前のヘッダファイルは、LabVIEWで使用されている特定のタイプを定義しており、DLLに応じてLabVIEWコードの入出力を行うことがあります。LabVIEWが開発マシンにインストールされていない場合は、これらのHファイルをcintoolsディレクトリから開発用コンピュータが検出できる場所にコピーする必要があります。

 
  1. ヘッダファイルで指定された名前とパラメータで関数を呼び出します。

追加情報

LabVIEWランタイムエンジンには、LabVIEWでビルドして、別のコンピュータで使用されるコードに必要なサポート機能が含まれています。DLLを実行するには、ランタイムエンジンの適切なバージョンが必要です。

この記事はお役に立ちましたか?

いいえ