创建函数原型
- 更新时间2025-08-27
- 阅读时长4分钟
如要从文本编程语言创建一个共享库,可在LabVIEW中创建一个函数原型,然后添加细节部分的代码。当LabVIEW要生成函数原型时,必须确保共享库中代码的基本语法合法有效。创建的原型源文件是一个.c文件,其中包含了传递参数的C语言声明。
按照下列步骤,创建一个名为myshared.c的原型源文件。
- 打开一个新的空白VI,将该VI保存为Array Average。该函数用于计算一个数值数组的平均值。
- 在程序框图上放置调用库函数节点。
- 右键单击“调用库函数节点”,从快捷菜单中选择配置,打开调用库函数对话框。
- 不要填写库名或路径。
- 输入以下常规参数:
- 在函数名中输入avg_num。
- 在调用规范栏中选择C。
- 使用以下设置,定义返回值:
- 找到调用库函数对话框的参数选项卡。
- 在名称控件中,将默认名return type改为更具体的名称error。
- 从类型下拉菜单中选择数值。
- 从数据类型下拉菜单中选择有符号32位整型。
- 使用以下设置,定义参数a:
- 单击参数列表右侧的添加参数按钮。
- 将名称栏的默认名称参数1替换为a。
- 从类型下拉菜单中选择数组。
- 从数据类型下拉菜单中选择4字节单精度。
- 从数组格式下拉菜单中选择数组数据指针。
- 使用以下设置,定义参数size:
- 单击参数列表右侧的添加参数按钮。
- 将名称栏中的默认名称参数2替换为size。
- 从类型下拉菜单中选择数值。
- 从数据类型下拉菜单中选择有符号32位整型。
- 从传递下拉菜单中选择值。
- 使用以下设置,定义参数avg:
- 单击参数列表右侧的添加参数按钮。
- 将参数栏中的默认名称参数3改为avg。
- 从类型下拉菜单中选择数值。
- 从数据类型下拉菜单中选择4字节单精度。
- 从传递下拉菜单中选择指针。
- 检查函数原型栏是否显示了返回值,3个参数是否按下列正确顺序显示:int32_t avg_num(float *a, int32_t size, float *avg);
| 注:函数原型栏中的语法在理论上是正确的。但是,由“调用库函数节点”生成的.c文件更为准确,其中的第一个参数为float a[]。 |
- 单击确定按钮,保存当前设置并关闭对话框。
- 注意,“调用库函数节点”图标已根据用户的设置而更新。
- 右键单击“调用库函数节点”并从快捷菜单中选择创建C文件。
- 将文件保存为myshared.c。
| 注:此范例中使用的是.c源文件。如使用的是C++库,应将源文件扩展名改为.cpp。 |
防止C++名称修饰
在头文件中使用C++编译器函数导出规则extern "C"{},避免在轧名过程中导出的函数名称产生与所在平台相关的依赖性。如下列代码所示:
extern "C" { int32_t MyDLLFunction(int32_t nInput, uint32_t nOutput, void *arg1); }
int32_t MyDLLFunction(int32_t nInput, uint32_t nOutput, void *arg1)
{
/* Insert Code Here */
}
| 注:如禁用C++的函数修饰,编译器将无法创建函数的多态版本。 |
创建函数原型后,可完成.c文件的编写。