新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > LabVIEW創建DLL

        LabVIEW創建DLL

        作者: 時間:2017-06-13 來源:網絡 收藏

        1、也可以

        2、調用規范說明:C調用規范時,調用方負責清空堆棧。使用標準調用規范時,被調用函數負責清空堆棧。

        所以要確認您選擇了和相同的調用規范

        3、調用庫函數節點(CLF)中線程模式:在UI線程中運行(Run in UIThread)模式;在任意線程中運行(Reentrant)模式。

        Runin UI Thread表示在用戶界面線程中調用,的執行期將等到用戶界面線程執行DLL的導出函數調用時才開始;Reentrant表示允許多個線程同時調用這個DLL.

        4、線程模式的選擇原則:

        如果DLL為線程安全———簡單地說,就是編制DLL過程中,充分考慮了線程保護的同步機制,如使用臨界區、互斥、信號量等,那么可以選用Reentrant方式,這將有助于提高DLL調用的性能;如果你不確定DLL是否為線程安全,選Run in UI Thread.

        5、以下是 Help中有關線程模式選擇原則的說明:

        線程——控制“調用庫函數節點”繼續在VI當前執行的線程執行或轉向用戶界面線程。默認狀態為在UI線程中運行。

        在UI線程中運行——指定“調用庫函數節點”必須在用戶界面線程中運行。生成的共享庫在UI線程中運行時,如通過在程序框圖中指定路徑動態加載該共享庫,可導致LabVIEW掛起。

        在任意線程中運行——指定“調用庫函數節點”繼續在VI當前執行的線程上運行。必須確保多個線程可同時調用函數。

        注:對LabVIEW生成的共享庫的調用必須指定為在任意線程中運行。如配置“調用庫函數節點”調用LabVIEW生成的共享庫并指定在UI線程中運行,LabVIEW將可能掛起并請求重新啟動系統。

        6、綜上所述:LabVIEWDLL具有足夠的可以讓多個線程調用的安全性。可以放心的以“在任意線程中運行”模式運行LabVIEW.如果以“在UI線程中運行”模式運行,如果動態加載DLL路徑會導致程序掛起。

        7、Labview編寫的dll還有一個優點:調用時不需要為輸入參數的類型發愁,他是自動加載。

        有關labviewdll與labview數據類型的對照以后在慢慢研究。

        本文引用地址:http://www.104case.com/article/201706/358157.htm


        關鍵詞: LabVIEW 創建DLL DLL

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 射洪县| 新化县| 文登市| 尖扎县| 台北县| 叶城县| 方正县| 永宁县| 滦南县| 宿松县| 巴塘县| 旅游| 深泽县| 象山县| 磐安县| 松阳县| 寿阳县| 曲麻莱县| 资阳市| 临沭县| 沽源县| 兴仁县| 武陟县| 疏勒县| 扶沟县| 囊谦县| 蒙城县| 察哈| 肇州县| 田阳县| 肥乡县| 高唐县| 清镇市| 西贡区| 大余县| 都江堰市| 曲麻莱县| 门头沟区| 崇明县| 滦平县| 托克逊县|