创建函数原型后,要通过基于文本的编程语言创建共享库,需完成.c文件的编写。

调用库函数节点myshared.c文件中生成以下主干源代码:

/* Call Library source File */

#include "extcode.h"

int32_t avg_num(float a[], int32_t size, float *avg);

int32_t avg_num(float a[], int32_t size, float *avg)

{

/* Insert code here */

}

将下列函数代码替换/* Insert code here */预留位置,请确保替换波形括号中的代码:

int i;

float sum = 0;

if(a != NULL)

{

for(i=0; i < size; i++)

sum = sum + a[i];

}

else

return (1);

*avg = sum / size;

return (0);

需用到的库

该简单的范例需头文件extcode.h,以声明一些简单的数据类型。extcode.h访问一系列进行简单或复杂运算的LabVIEW管理器函数,从低层的字节操作,数据排序到管理内存等。在生成较复杂的共享库时,必须包括所有相关库的头文件。例如,Windows共享库可能需要包括windows.h

如要在共享库中使用LabVIEW管理器函数,必须在编译项目中包括labviewv.lib库文件。该文件在labview\cintools目录下。

完成以下任务时将用到LabVIEW管理器函数:

  • 对数组、字符串或其他从LabVIEW库传入或传出的数据结构进行分配、释放或大小调整等操作。
  • 使用LabVIEW路径数据类型。
  • 使用库中的文件引用句柄。
  • 使用任何支持管理器函数。

关于管理器函数的更多信息,见LabVIEW管理器函数。

完成.c文件的编写之后,可在外部IDE中生成库项目