色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > LabVIEW創(chuàng)建DLL

          LabVIEW創(chuàng)建DLL

          作者: 時(shí)間:2017-06-13 來源:網(wǎng)絡(luò) 收藏

          1、也可以

          2、調(diào)用規(guī)范說明:C調(diào)用規(guī)范時(shí),調(diào)用方負(fù)責(zé)清空堆棧。使用標(biāo)準(zhǔn)調(diào)用規(guī)范時(shí),被調(diào)用函數(shù)負(fù)責(zé)清空堆棧。

          所以要確認(rèn)您選擇了和相同的調(diào)用規(guī)范

          3、調(diào)用庫函數(shù)節(jié)點(diǎn)(CLF)中線程模式:在UI線程中運(yùn)行(Run in UIThread)模式;在任意線程中運(yùn)行(Reentrant)模式。

          Runin UI Thread表示在用戶界面線程中調(diào)用,的執(zhí)行期將等到用戶界面線程執(zhí)行DLL的導(dǎo)出函數(shù)調(diào)用時(shí)才開始;Reentrant表示允許多個(gè)線程同時(shí)調(diào)用這個(gè)DLL.

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

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

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

          線程——控制“調(diào)用庫函數(shù)節(jié)點(diǎn)”繼續(xù)在VI當(dāng)前執(zhí)行的線程執(zhí)行或轉(zhuǎn)向用戶界面線程。默認(rèn)狀態(tài)為在UI線程中運(yùn)行。

          在UI線程中運(yùn)行——指定“調(diào)用庫函數(shù)節(jié)點(diǎn)”必須在用戶界面線程中運(yùn)行。生成的共享庫在UI線程中運(yùn)行時(shí),如通過在程序框圖中指定路徑動(dòng)態(tài)加載該共享庫,可導(dǎo)致LabVIEW掛起。

          在任意線程中運(yùn)行——指定“調(diào)用庫函數(shù)節(jié)點(diǎn)”繼續(xù)在VI當(dāng)前執(zhí)行的線程上運(yùn)行。必須確保多個(gè)線程可同時(shí)調(diào)用函數(shù)。

          注:對(duì)LabVIEW生成的共享庫的調(diào)用必須指定為在任意線程中運(yùn)行。如配置“調(diào)用庫函數(shù)節(jié)點(diǎn)”調(diào)用LabVIEW生成的共享庫并指定在UI線程中運(yùn)行,LabVIEW將可能掛起并請(qǐng)求重新啟動(dòng)系統(tǒng)。

          6、綜上所述:LabVIEWDLL具有足夠的可以讓多個(gè)線程調(diào)用的安全性??梢苑判牡囊?ldquo;在任意線程中運(yùn)行”模式運(yùn)行LabVIEW.如果以“在UI線程中運(yùn)行”模式運(yùn)行,如果動(dòng)態(tài)加載DLL路徑會(huì)導(dǎo)致程序掛起。

          7、Labview編寫的dll還有一個(gè)優(yōu)點(diǎn):調(diào)用時(shí)不需要為輸入?yún)?shù)的類型發(fā)愁,他是自動(dòng)加載。

          有關(guān)labviewdll與labview數(shù)據(jù)類型的對(duì)照以后在慢慢研究。

          本文引用地址:http://cafeforensic.com/article/201706/358157.htm


          關(guān)鍵詞: LabVIEW 創(chuàng)建DLL DLL

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉