右键单击程序框图上的调用库函数节点,在快捷菜单中选择配置,可显示该对话框。

该对话框用于指定对象的库、函数、参数、返回值以及共享库调用的调用规范。单击对话框中的确定按钮,LabVIEW将更新程序框图中的对象。此时,该对象将反映出对话框中的设置,显示出接线端的正确数目,并将接线端设置为正确的数据类型。

调用库函数节点可用于调用以文本编程语言编写的代码。如果要调用包含 ActiveX 对象的共享库,请使用带有 属性节点调用节点自动化打开 功能。

该对话框包含以下部分:

选项 说明信息
函数 通过函数选项卡配置调用库函数节点。

该选项卡有以下选项:

  • 图书馆名称或路径

    指定正在调用的库名称或路径。这两个方法不可互换,在发布或重新分配VI和应用程序时,产生不同结果。如要了解何时使用按名称或按路径指定共享库的详细信息,请参考指定共享库在磁盘上的位置。

    在路径中使用通配符(*),可确保引用与平台无关。在C++编译器中,名称调整过程可对库中函数的名称进行转换,函数名与平台相关。在C++编译器中,通过名称转换(在头文件中使用C++编译器函数导出指令extern "C"{}),可防止在导出函数名称时引入平台依赖关系。

  • 在图表上指定路径

    确定用户是否可在程序框图上输入库名称或路径。如勾选该复选框,路径输入路径输出可显示为节点连线板上的输入和输出接线端。勾选该复选框,将不使用任何库名称或路径控件中引用的库。 提示 可使用路径输入输入端释放内存中此前引用的参考库。连接空路径或无效路径至路径输入输入端,可释放内存中任何通过节点引用的库。

  • 功能名称

    指定要调用的函数的名称。 引用库时,函数名称控件将使用该库中的函数名称填充。(macOS)如果函数名称控件为空,请安装nm命令来查看函数名称列表。nm命令与MacOS的标准开发环境Xcode一起安装。可从Mac App Store免费下载Xcode。

  • 主题

    控制“调用库函数节点”是否继续在VI当前执行的线程中运行或转向用户界面线程。默认状态为在UI线程中运行

    • 在用户界面线程中运行

      指定“调用库函数节点”必须从当前线程转移至用户界面线程中运行。在LabVIEW生成的共享库的UI线程中运行时,如该共享库需通过在程序框图中指定路径进行动态加载,可导致LabVIEW挂起。

    • 在任何线程中运行

      指定“调用库函数节点”继续在VI当前执行的线程中运行。必须确保多个线程可同时调用函数。 对LabVIEW生成的共享库的调用必须指定为在任意线程中运行。如配置“调用库函数节点”调用LabVIEW生成的共享库并指定在UI线程中运行,LabVIEW可能挂起并请求重新启动系统。

  • 召集公约--

    指定函数的调用规范。默认为C。

    • stdcall (WINAPI)-

      设置对象是否使用__stdcall调用规范。

    • C-

      设置对象是否使用__cdecl调用规范。

  • 功能原型

    显示函数的C原型。该选项为只读。

参数

列出调用库函数节点的当前参数。参数列表右边的按钮可用于配置参数列表。返回类型是必需的参数,不能删除。

  • 参数

    列出调用库函数节点的当前参数。参数列表右边的按钮可用于配置参数列表。返回类型是必需的参数,不能删除。

    • 添加参数

      参数列表中选定的参数下添加参数。

    • 删除所选参数

      参数列表中删除选定参数。

    • 将所选参数向上移动一个

      参数列表中上移选定参数,修改函数原型中各参数的顺序。

    • 将所选参数向下移动一个

      参数列表中下移选定参数,修改函数原型中各参数的顺序。

  • 当前参数-

    配置当前选定的参数。

    • 名称

      指定参数的名称。

    • 类型

      指定参数的数据类型。

      • 数值-指定使用数值数据类型。
        • 数据类型

          指定类型列表框中选定数据的格式。

          注: 如使用有符号指针大小整型无符号指针大小整型,调用库函数节点可根据所在操作系统向库函数返回合适大小的数据。在64位平台上,LabVIEW可使此类数值数据转换为64位整型数据。在32位平台上,LabVIEW可使此类数值数据转换为32位整型数据。
        • 通过

          表明传递值或值的指针。

      • 数组-指定使用数组数据类型。
        • 数据类型

          指定类型列表框中选定数据的格式。

          注: 如使用有符号指针大小整型无符号指针大小整型,调用库函数节点可根据所在操作系统向库函数返回合适大小的数据。在64位平台上,LabVIEW可使此类数值数据转换为64位整型数据。在32位平台上,LabVIEW可使此类数值数据转换为32位整型数据。
        • 尺寸

          指定参数的维数。

        • 数组格式-

          指定要使用的数组格式。

        • 最小尺寸-

          表明一维数组的最小尺寸并分配适当大小的内存。用户可输入数值。参数列表中配置的参数是整型时,可在下拉菜单中选择参数。默认值为0。该选项仅对数组数据指针有效。

          如果输入的字符串小于最小尺寸,LabVIEW 会将字符串的尺寸放大到最小值。如传递字符串的长度大于最小值,则字符串的长度不变。如传递数组的大小小于最小值,LabVIEW可扩充数组,使数组大小满足最小值。如传递数组的大小大于最小值,则数组的大小不变。
      • 字符串-指定使用 字符串数据类型
        • 字符串格式-指定要使用的字符串格式。
        • 最小尺寸

          表明一维数组的最小尺寸并分配适当大小的内存。用户可输入数值。参数列表中配置的参数是整型时,可在下拉菜单中选择参数。默认值为0。该选项仅对数组数据指针有效。

      • 波形-指定使用波形数据类型。必须在数据类型下拉菜单中指定精确的数据类型。
        • 数据类型

          指定类型列表框中选定数据的格式。

        • Dimensions-

          指定参数的维数。

          如果参数为单个波形,则指定 Dimensions 为 0。如参数为波形数组,可指定维数为1。LabVIEW不支持大于一维的波形数组。
      • 数字波形-指定使用数字波形数据类型。
        • Dimensions-

          指定参数的维数。

          如果参数是单一数字波形,则将 Dimensions 指定为 0。如参数为数字波形数组,可指定维数为1。LabVIEW不支持大于一维的数字波形数组。
      • 数字数据-指定使用数字数据数据类型。
        • Dimensions-

          指定参数的维数。

          如果参数是数字数据数组,则将 Dimensions 指定为 1。否则,将 尺寸 指定为 0。LabVIEW 不支持大于一维的数字数据数组。
      • ActiveX-指定使用 ActiveX 数据类型
        • 数据类型

          指定类型列表框中选定数据的格式。

      • 适应类型-指定使用 适应类型数据类型
        • 数据格式-指定类型 控件中选择的数据格式。
          • 允许调整大小-

            指定库是否允许调整参数的大小。禁止调整大小可避免在内存中创建过多的数据副本。

            如果 常量 复选框包含复选标记,LabVIEW 将禁用此选项,因为无法调整常量参数的大小。
            注: 只有从数据格式下拉菜单中选择了数据接口,才可使用该选项。
      • 实例数据指针-指定使用实例数据指针数据类型。实例数据指针引用指针大小的位置,供用户使用。该位置也可传递至回调选项卡上的回调函数。
    • 常数

      表明参数是否为常量。

  • 功能原型

    显示函数的C原型。该选项为只读。

回调

通过回调选项卡可预先设置函数调用的次数。该函数允许用户根据配置的调用库函数节点的实例,初始化、更新或清除用于DLL或共享库的数据。通过为函数配置的“调用库函数节点”的实例数据指针传递调用。

注: 使用回调栏时,禁止将回调函数作为库函数参数进行传递。调用库函数节点不能直接调用以回调函数为参数的库函数,但可创建一个包装库,实现此类操作。

该选项卡有以下选项:

  • 储备-

    指定在保留时间内调用每个节点的函数和重入VI的数据空间实例。

  • 未储备金-

    函数在未保留时间内调用每个节点和重入VI的数据空间实例。通过未保留回调保存或分析信息并进行清理操作。

  • Abort-

    指定在调用DLL过程中,中止VI时调用的函数。如设置“调用库函数节点”在UI线程中运行,则不调用该过程。通过中止回调,可保存或分析信息并进行清理操作。

  • 这些程序的原型--

    显示用户定义过程调用的C原型。每个函数均传递一个InstanceDataPtr参数。该参数允许用户初始化并访问该调用库函数节点实例的数据,这些数据可传递至节点调用的任何函数。该原型可强制转换为指针类型可接受的任意类型(包括数值型或指向共享库或DLL分配的结构的实际指针型)。 该选项为只读。

  • 功能原型

    显示函数的C原型。该选项为只读。

错误检查

通过错误检查选项卡指定调用库函数节点的错误检查级别。

该选项卡有以下选项:

  • 错误检查级别-

    包含下列选项:

    • 最大

      在“调用库函数节点”中启用最高级别的错误检查。除默认水平的错误检查之外,最大值级别的默认检查会在共享库调用的函数或DLL在分配的字符串或数组参数之外的空间执行写操作时返回警告。 选择错误检查选项卡上的最大值控件,会降低执行速度,并增加“调用库函数节点”函数的内存占用。所以,只在调试“调用库函数节点”函数的配置时选择最大值

    • 默认

      在“调用库函数节点”中启用默认级别的错误检查。默认级别的错误检查可使LabVIEW在调用共享库或DLL执行过程中的异常中恢复。在该错误检查级别下,如函数页上选择的调用规范与共享库或DLL中的调用函数的调用规范不匹配,且已启用最高级别的错误检查,调用库函数节点函数可返回错误。

    • 残疾人-

      禁用“调用库函数节点”函数的错误检查。禁用“调用库函数节点”函数的错误检查,可提高“调用库函数节点”函数的执行速度。但是,某些错误可能导致LabVIEW关闭。禁用错误检查之前,应确保“调用库函数节点”引用的函数不会引起任何异常。

  • 功能原型

    显示函数的C原型。该选项为只读。

相关信息

在LabVIEW中调用共享库

配置调用库函数节点

调试共享库和调用共享库

调用库函数节点

LabVIEW管理器函数