電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>LabVIEW教程之LabVIEW中的泛型容器詳細資料說明

LabVIEW教程之LabVIEW中的泛型容器詳細資料說明

2019-06-26 | rar | 0.07 MB | 次下載 | 免費

資料介紹

本文檔的主要內(nèi)容詳細介紹的是LabVIEW教程之LabVIEW中的泛型容器詳細資料說明。

  Google 網(wǎng)站里有個 Google 實驗室,有不少 Google 的產(chǎn)品最初就是放在這個實驗室里的?,F(xiàn)在 NI 也有 NI 實驗室了。NI 實驗室公布出來的項目一般是 NI 工程師利用額外時間做的一些調(diào)查研究。這些項目不是公司的正式產(chǎn)品,但是它們的設(shè)計很有創(chuàng)新或者是比較有應(yīng)用潛力。與其讓這些項目被埋沒了,不如先看看用戶對這些項目的反應(yīng),如果相當(dāng)一部分用戶覺得某個項目非常有幫助,或許它就值得我們?yōu)槠湓黾油顿Y,把它作成正式產(chǎn)品了。

  我這里給大家介紹其中的一個項目:“LabVIEW Generic Container Map”。因為這個項目是我設(shè)計的,所以對它了解比較多一些。當(dāng)時,我們打算提出這個項目的時候,主要有兩個目的:第一是幫助用戶編寫有復(fù)雜數(shù)據(jù)結(jié)構(gòu)的應(yīng)用程序;第二是推進 LabVIEW 向通用編程語言方向做改進。

  C++程序員基本都很喜歡 STL 這個模板庫。程序中常會使用數(shù)組、隊列、字符串等等數(shù)據(jù)類型和結(jié)構(gòu),如果自己設(shè)計實現(xiàn)這些數(shù)據(jù)結(jié)構(gòu)和相關(guān)的操作,是相當(dāng)耗費精力的。好在 STL 實現(xiàn)了這些數(shù)據(jù)結(jié)構(gòu),和它們常用的操作方法。借用 STL 提供的功能,編程時很多細節(jié)方面不需要再去考慮了,這就讓工作簡化了許多。嘗到 STL 甜頭的程序員,在編寫程序的時候,已經(jīng)很難離開 STL 了。

  STL 中非常重要的一個部分就是容器。容器用于存放數(shù)據(jù),程序通過調(diào)用容器的結(jié)構(gòu)函數(shù)保存數(shù)據(jù)到容器或者訪問容器中的數(shù)據(jù)。容器也分為不同的類型,如鏈表、隊列等。它們在數(shù)據(jù)的組織方式上,或存取方式上有所分別,以適用不同的需求。STL 中的容器和方法都是泛型的或者說是數(shù)據(jù)類型無關(guān)的,就是說這些容器可以保存和操作任何類型的數(shù)據(jù)。

  其它一些常用的編程語言,如 Java、C# 也都有類似的泛型容器以方便程序員使用。

  LabVIEW 的主要方針是簡化工程師們編寫程序的難度,以前用 LabVIEW 編寫的程序大多是工業(yè)領(lǐng)域流程控制類型的。這種類型的程序用不到太復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法,因此,LabVIEW 中對我們在計算機課程中學(xué)到的那些經(jīng)典數(shù)據(jù)結(jié)構(gòu)以及算法的支持并不多。

  但是在我自己用 LabVIEW 多了之后,用它比用 C++ 要順手,任何類型的程序都喜歡使用 LabVIEW 來編寫,包括一些通常用途的程序。這時候,LabVIEW 缺乏對基本數(shù)據(jù)類型支持的缺點就格外突出了。于是我和周圍幾個同事就想到應(yīng)該在這些方面對 LabVIEW 做一些補充,做一些比較規(guī)范的泛型容器和算法,一方面方便自己,也許還可以提供給別的用戶。

  由于這不是正式項目,我們能投入的資源很有限,不可能一開始就做得很全面。作為開始,我們選擇了 Map 容器和它最常用的幾個方法。首先選擇 Map 一是因為它比較常用,二是其它容器中,有些在概念上和 LabVIEW 中已有的一些函數(shù)比較接近,如果選則他們,可能會引起用戶的誤解。

  LabVIEW 中的 Array 操作與 STL 中的 vector 是非常相似的,功能齊全,不需要考慮底層操作如內(nèi)存管理等。STL 中的 deque, queue, stack 等,與 LabVIEW 中的“隊列”(Queue)操作比較類似。但是 LabVIEW 中的隊列存在的目的不是為了作容器,而是用于在多線程程序中通訊。在“生產(chǎn)者/消費者”程序模式中,經(jīng)常使用隊列在不同的線程中傳遞數(shù)據(jù)或消息。因為 LabVIEW 中隊列操作主要用于不同線程間的通訊,因此它的函數(shù)并沒有采用 LabVIEW 的主要傳參方式-傳數(shù)據(jù),而是采用了傳引用的方式。

  我們實現(xiàn)的這個 Map(這個按字面翻譯比較別扭,中文可能翻譯成“字典”還比較合理)泛型容器功能與 C++ STL 中的 Map 是類似的,它主要用于程序經(jīng)常需要按某一關(guān)鍵字查詢數(shù)據(jù)的情況。

  Map 已經(jīng)包括了編寫查詢程序時常用的操作,比如把數(shù)據(jù)放到容器中、查找一個數(shù)據(jù)、刪除、清空容器等。

  我們的 LabVIEW Generic Container Map 內(nèi)部的數(shù)據(jù)是按照平衡二叉樹的方式組織存儲的,它的查詢復(fù)雜度比一般線性數(shù)據(jù)結(jié)構(gòu)的要低。這樣,在數(shù)據(jù)量很大的情況下,使用 Map 的程序效率明顯高于使用數(shù)組的程序。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費