Labview與c通過dll混合程式設計的一種實現方法
阿新 • • 發佈:2021-06-20
工作需要做某平臺產品上位機時,由於系列化原因,部分演算法需要根據不同產品系列進行微調,為方便後期可可擴充套件性,遂將相關演算法通過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方法:
執行結果與測試函式結果一致: