LabVIEW是一種程序開發環境,由美國國家儀器(NI)公司研製開發的,類似於C和BASIC開發環境,但是LabVIEW與其他計算機語言的顯著區別是:其他計算機語言都是採用基於文本的語言產生代碼,而LabVIEW使用的是圖形化編輯語言G(Graphics)編寫程序,是一種產生的程序是框圖的形式。
通過一個簡單的例子,用LabVIEW來編寫一個實現三個數相加的DLL。首先編寫一個子VI實現兩個數相加,再編寫一個VI通過調用子VI實現三個數相加。
爲了使外部VI可以調用子VI並給它傳遞參數,需要給子VI創建一些Connector。創建的方法是在前面板的又上圖標上右擊,選擇Show Connector。
然後將需要導出爲接口的控件,用Connect Wire工具設置爲Connector。方法是先點擊一下控件,然後點擊圖標中的一個小空格。還可以設置圖標哦。
在創建一個VI,通過子VI來計算三個數相乘的值。可以看出圖標中小空格的位置,就是子VI連接點。可以通過Patterns來選擇不同的接口外觀。
同樣的方法爲剛創建的VI設置Connector。這個VI中a,b,c,a*b*c都應該導出。實際應用中並不會導出全部的數據。
然後在工程中選擇生成一個DLL。
設置好DLL名字後,添加源文件,Exported VIs選擇abc.vi,提示設置函數原型,因爲比較簡單,不用做其他的特別設置。LabVIEW已經幫你把函數原型生成出來了。
最後的任務就是Build了。注意這個DLL的調用方式,默認選擇的是C語言的調用方式,也就是傳說中的cdecl。
可以看到在Build目錄中已經有的DLL文件,已經對應的頭文件,還有LIB文件,它是靜態鏈接DLL時必須的文件。頭文件內容如下,預編譯命令#pragma首先保存對齊標誌,然後設爲1字節對齊,然後恢復。
現在可以選擇各種方式來調用這個DLL。這裏就不提及了。