工作需要做某平台产品上位机时,由于系列化原因,部分算法需要根据不同产品系列进行微调,为方便后期可可扩展性,遂将相关算法通过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方法:
运行结果与测试函数结果一致: