本文将详细记录使用C语言创建一个dll库文件,然后在Labview中进行调用的过程。
一、目标
用C语言创建两个函数,分别用于获取两个整数中较大、较小的值。函数命名:getMax,getMin。生成dll文件后,在Labview中将这两函数创建成对应的子vi。
二、创建DLL文件
利用CodeBlocks创建自定义的dll文件;在CB中创建一个Dynamic Link Library项目。
创建完成后,将默认的main.cpp(或main.c)、main.h文件删从项目中除掉,然后创建新的两个文件Lab_Call_DLL.c、Lab_Call_DLL.h并添加到项目中。
Lab_Call_DLL.h文件内容:
#ifndef _LAB_CALL_DLL_H_
#define _LAB_CALL_DLL_H_
#define DLL_EXPORT __declspec(dllimport)
int DLL_EXPORT getMax(int a, int b);
int DLL_EXPORT getMin(int a, int b);
#endif // _LAB_CALL_DLL_H_
Lab_Call_DLL.c文件内容:
#include "Lab_Call_DLL.h"
int DLL_EXPORT getMax(int a, int b)
{
return a>=b?a:b;
}
int DLL_EXPORT getMin(int a, int b)
{
return a<=b?a:b;
}
项目结构如图所示:
完成上述步骤后,点击Build,进行编译、建立dll文件。编译没有语法错误,将会在在项目输出文件目录下生成接下来要调用的dll文件。
三、Labview调用DLL
新建vi命名为需要调用函数的名字并保存;在Labview函数中选择 互连接口->库与可执行程序->调用库函数节点。
双击该节点、或者右键选择配置…,弹出一个对话框进行函数配置;在库名或路径中选择,刚才生成的Lab_Call_DLL.dll文件,函数名选择getMax,并将参数设置成如图所示。
并个vi添加输入、输出端;制作成一个可调用的子vi。最后可设计成如图所示的一个vi:
使用同样的方式,将getMin也制作成一个可调用的子vi.