亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

EDA技術(shù)培訓(xùn)

LabVIEW創(chuàng)建DLL的方法

時間:2024-11-01 16:52:33 EDA技術(shù)培訓(xùn) 我要投稿
  • 相關(guān)推薦

LabVIEW創(chuàng)建DLL的方法

  為了方便大家的學(xué)習(xí),下面YJBYS小編為大家整理了關(guān)于LabVIEW創(chuàng)建DLL的方法,希望對你有所幫助。

  1、LabVIEW也可以創(chuàng)建DLL

  2、調(diào)用規(guī)范說明:

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

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

  3、調(diào)用庫函數(shù)節(jié)點(CLF)中線程模式:

  在UI線程中運行(Run in UIThread )模式;在任意線程中運行(Reentrant)模式。

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

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

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

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

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

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

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

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

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

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


【LabVIEW創(chuàng)建DLL的方法】相關(guān)文章:

word創(chuàng)建編號的方法09-16

javascript數(shù)據(jù)創(chuàng)建方法參考08-27

在word中創(chuàng)建宏的方法07-30

創(chuàng)建定格動畫項目的方法08-02

javascript設(shè)置創(chuàng)建動態(tài)表格的方法06-20

JavaScript創(chuàng)建對象方法2017最新08-29

Fireworks創(chuàng)建殘破紋理特效文字的方法09-04

路由器OS創(chuàng)建熱點網(wǎng)關(guān)的方法06-23

在word文檔中創(chuàng)建表格的方法詳解05-05

Word 2000利用模板創(chuàng)建修改文檔方法介紹10-09