从LabWindows™/ CVI™或其他C项目调用LabVIEW DLL

更新 Jan 14, 2019

适用于

Software

  • LabVIEW Full
  • LabVIEW Base

问题详述

我在LabVIEW中编译了动态链接库(DLL),但我无法弄清楚如何从LabWindows™/ CVI™,Visual C / C ++或其他Windows开发环境中调用它。如何在LabWindows / CVI或其他C项目中调用LabVIEW DLL?

解决方案

在LabVIEW中构建DLL时,会创建三个文件:DLL文件,LIB文件和H文件(C/C++ header file)。 DLL文件包含您在LabVIEW中设计的函数。 LIB文件被称为导入库,包含用于加载和调用DLL函数所需的信息。 H文件或头文件,包含用于调用LIB文件中函数的函数原型,该函数最终调用DLL。
要在另一个环境中使用该代码,您可以使用Windows SDK中的LoadLibrary9()和GetProcAddress()函数直接调用DLL,或者您可以将您的项目与LIB文件和H文件连接在一起,这样您只需调用按名称该函数即可,就像是这些函数已经存在于你的项目中。在这种情况下,您需要确保DLL与调用程序集位于同一目录中,并位于CVI项目的Resource Files文件夹中(如果该文件夹不存在,则创建该文件夹)。以下方法是在LabWindows / CVI中创建的示例,该示例说明了如何直接调用LabVIEW中创建的DLL:
  1. 通过编辑>将文件添加到项目...>包含(.h)...或库(.lib),将.lib和.h文件添加到项目中。
  2. 在源文件的开头调用DLL,使用包含H文件的#include预处理程序指令。
  3. 使用包含在C:\ Program Files(x86)\ National Instruments \ LabVIEW \ cintools subdirectory中的其他LabVIEW H文件,如extcode.hfundtypes.hplatdefines.h 。以上头文件定义了LabVIEW中使用的某些类型,有时可根据你的DLL输入和输出LabVIEW代码。如果开发计算机上未安装LabVIEW,则需要将这些H文件从cintools目录复制到开发计算机可以找到它们的位置。
  4. 以头文件中指定的函数名称和参数调用函数。

相关信息

LabVIEW运行引擎 (Runtime Engine) 包括在另一台计算机上使用LabVIEW构建任何代码所需的支持功能。 另外,执行DLL需要合适版本的运行引擎。

本文是否有帮助?

无帮助