<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > LABVIEW深入探索---reference(參考)和refnum(參考號)

LABVIEW深入探索---reference(參考)和refnum(參考號)

作者: 時(shí)間:2017-01-09 來(lái)源:網(wǎng)絡(luò ) 收藏
看到今天的評論,建議我寫(xiě)一點(diǎn)有關(guān)REFERENCE的文章,的確早就想寫(xiě)點(diǎn)這部分內容,但是不太容易,因為NI這方面的中文資料很少,我甚至無(wú)法準確地翻譯REFERENCE。

REFERENCE的常規翻譯是參考,目前國內有關(guān)LV的書(shū)籍也是這樣翻譯的,但是從我個(gè)人理解還是翻譯成引用比較好。

為了準確理解引用的概念有必要先解釋一下C語(yǔ)言中指針的概念。

int var;
int *pVar;
pVar=&var;


當我們聲明了var整型變量后,在計算機的內存中就分配了四個(gè)字節的連續內存空間(與編譯器有關(guān),早期是兩個(gè)字節),pVar是一個(gè)指向整型變量的指針,它本身就是32位整型數,自然也占四個(gè)字節的內存空間,不過(guò)這四個(gè)字節的內容是VAR的內存地址。

LV的參考是什么那?我個(gè)人理解就是對象的指針。我在一篇文章中提到,LV本身是基于數據流的,不過(guò)它的前面板控件卻是典型的面向對象的類(lèi)的繼承關(guān)系。LV的對象就是指向各種類(lèi)的指針(當然不僅僅是控件,菜單,文件等也是用參考進(jìn)行參數傳遞的)。


C語(yǔ)言的指針有兩種情況,一是未指向任何變量的指針( int *pVar,此時(shí),只是定義了指針,未指向任何變量或者對象),二是指向了特定的變量或者對象(pVar=&var)

實(shí)際上,LV的參考也分成這兩種情況,我們可以通過(guò)兩種方式來(lái)創(chuàng )建控件的參考。




我們以CONTROL REFERENCE為例,當我們在前面板生成這個(gè)控件的時(shí)候,該控件未指向任何特定的控件,甚至未指向任何特定的數據類(lèi)型,比如BOOLEAN ,NUMERIC等等。

從C語(yǔ)言的角度,更像定義了一個(gè)void *pVar;(當然,它已經(jīng)指定的范圍,是控件的參考)

我們可以認為它指向的是控件的基本類(lèi),但是是未初始化的,未指向特定對象。

LABVIEW的每一個(gè)REFERENCE都有一個(gè)編號,稱(chēng)為REFERENCE NUMBER,簡(jiǎn)寫(xiě)RefNum,RefNum是對象(可能是控件,面板,文件,菜單等)的唯一標識符號,這個(gè)標識符號如果理解成指針應該是個(gè)I32表示的內存地址。

對于C語(yǔ)言,未初始化的的指針一般讓它指向0,看LV是否如此那?




對于前面兩個(gè),控件參考和菜單參考,因為未指向任何特定對象,所以他們的REFNUM的值是0,而下面的NUMERIC REFNUM,因為控件本身已經(jīng)存在了,因此它的值是存在的,這和C語(yǔ)言是類(lèi)似的。

一個(gè)未指向任何對象的指針?lè )Q作空指針,那么未指向任何對象的參考也可以稱(chēng)作空參考。



可以看出,未指向任何對象的參考號REFNUM的值是0,LV判斷它是一個(gè)空的或者非法的REFNUM.

對于兩個(gè)指向同一特定控件的REFERENCE,它們的REFNUM是相同的。



由此可以得出結論,在加載前面板后,控件對象已經(jīng)實(shí)際存在,指向同一控件的參考,他們的參考號是相同的。得到控件的參考號就可以控制控件的所有屬性,如是否可見(jiàn),閃爍等。

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: LABVIEWreferencerefnu

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>