Labview与c通过dll混合编程的一种实现方法

工作需要做某平台产品上位机时,由于系列化原因,部分算法需要根据不同产品系列进行微调,为方便后期可可扩展性,遂将相关算法通过labview读取配置文件调用dll实现。故在此将实现方法记录备用。

 

开发环境:

labview 32bit

gcc version 8.1.0 (x86_64-win32-sjlj-rev0, Built by MinGW-W64 project)

 

1、c语言实现dll库:

参考 https://www.cnblogs.com/ser0632/p/4920653.html

1.1、创建dllTest.c文件:

 1 #include "stdint.h"
 2 #include "stdio.h"
 3 #include "dllTest.h"
 4 
 5 EXPORT void say_hello()
 6 {
 7     printf("Hello, from TestDll!\n");
 8 }
 9 
10 EXPORT uint32_t test_add(uint32_t a, uint32_t b)
11 {
12     return a + b;
13 }

1.2、创建dllTest.h文件:

 1 #include "stdint.h"
 2 
 3 #ifdef BUILD_DLL
 4 #define EXPORT __declspec(dllexport)
 5 #else
 6 #define EXPORT __declspec(dllimport)
 7 #endif
 8 
 9 EXPORT void say_hello();
10 EXPORT uint32_t test_add(uint32_t a, uint32_t b);

1.3、gcc编译为32bit dll库命令:

1 gcc -m32 -shared -o dllTest.dll dllTest.c

 

labview调用dll方法:

Labview与c通过dll混合编程的一种实现方法

 

 

运行结果与测试函数结果一致:

Labview与c通过dll混合编程的一种实现方法

 

上一篇:在linux下的python中读/写LabView TDMS文件


下一篇:LabVIEW中的Python脚本向stdout输出“More?”