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

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > labview深入探索------類(lèi)型轉(zhuǎn)換、數(shù)組字符串與內(nèi)存管理

          labview深入探索------類(lèi)型轉(zhuǎn)換、數(shù)組字符串與內(nèi)存管理

          作者: 時(shí)間:2017-01-09 來(lái)源:網(wǎng)絡(luò) 收藏



          很多時(shí)候,我們無(wú)法預(yù)先知道我們需要的數(shù)組大小,比如我們需要一個(gè)字符串?dāng)?shù)組,來(lái)記錄報(bào)警信息,無(wú)法知道會(huì)有多少報(bào)警發(fā)生,這樣就需要根據(jù)實(shí)際情況,來(lái)不斷地改變數(shù)組的大小,一個(gè)比較好的方法是每次申請(qǐng)一定數(shù)量的內(nèi)存,而不是一個(gè)元素的大小,這樣,當(dāng)內(nèi)存再次需要的時(shí)候,我們可以再次申請(qǐng),當(dāng)整個(gè)循環(huán)結(jié)束的時(shí)候,我們可以去掉多余的空間,得到結(jié)果。



          內(nèi)存碎片的問(wèn)題,對(duì)于任何編程語(yǔ)言都是存在的,當(dāng)內(nèi)存碎片越來(lái)越多的情況下,程序運(yùn)行會(huì)越來(lái)越慢,內(nèi)存管理器要進(jìn)行大量的搜索試圖找到可用的空間,碎片是如何產(chǎn)生的那,比如我們有三個(gè)操作ABC,A、B、C分別申請(qǐng)了三塊內(nèi)存,他們是連續(xù)的,當(dāng)B的內(nèi)存釋放的時(shí)候,在A、C中間的內(nèi)存區(qū)域就成了碎片,當(dāng)我們?cè)谝粋€(gè)子VI中不斷地用BUILD ARRAY或者conctenate string 時(shí),不斷引起內(nèi)存的申請(qǐng)和釋放,這樣,內(nèi)存空間碎片會(huì)越來(lái)越多。也就是內(nèi)存的間隙越來(lái)越多,作為L(zhǎng)V的用戶(hù),我們沒(méi)有辦法控制內(nèi)存碎片,只能盡量地使用固定長(zhǎng)度的數(shù)組或者字符串,我們可以做一個(gè)標(biāo)志,用不太可能的數(shù)據(jù)來(lái)填充這個(gè)數(shù)組,這樣通過(guò)這個(gè)特殊的數(shù)或者特殊字符,就可以得到實(shí)際數(shù)據(jù)。

          本文引用地址:http://cafeforensic.com/article/201701/337267.htm

          labview內(nèi)部是如何存儲(chǔ)數(shù)組和字符串的

          了解數(shù)組在內(nèi)存中的存儲(chǔ)形式非常重要,有助于合理組織數(shù)據(jù),高效利用內(nèi)存.有助于理解和使用CIN,有助于理解和使用動(dòng)態(tài)鏈接庫(kù).一般都會(huì)認(rèn)為只有大的數(shù)組結(jié)構(gòu)或者字符串才消耗大量的內(nèi)存,其實(shí)不然,由于LABVIEW在內(nèi)存中構(gòu)造數(shù)據(jù)的特殊形式,較小的數(shù)組或者字符串有時(shí)也會(huì)占用可觀的內(nèi)存.



          對(duì)于一維數(shù)值型數(shù)組,它包括四個(gè)字節(jié)(I32)的數(shù)組長(zhǎng)度,之后是連續(xù)的數(shù)據(jù)元素所占的空間。

          對(duì)于二維的數(shù)值型數(shù)組,它包括兩個(gè)I32(8個(gè)字節(jié))表示數(shù)組行列長(zhǎng)度,之后是按行存儲(chǔ)的元素序列。

          正如我們看到的,LV在內(nèi)存中是一段連續(xù)的空間來(lái)存儲(chǔ)數(shù)據(jù)的,這樣當(dāng)需要增加數(shù)組長(zhǎng)度的時(shí)候,由于內(nèi)存碎片的影響,LV可能不得不移動(dòng)整個(gè)數(shù)組到一個(gè)新的內(nèi)存位置。除了存儲(chǔ)實(shí)際數(shù)據(jù),LV還額外增加了數(shù)組長(zhǎng)度(I32類(lèi)型),所以,對(duì)一維數(shù)組,最大可以包括2的32次方-1個(gè)元素。

          BOOLEAN型數(shù)據(jù)是字節(jié)型數(shù)據(jù),該字節(jié)非零則為T(mén)RUE,為0則為FALSE,BOOLEAN型數(shù)組在內(nèi)存中的分布看下圖。



          同C語(yǔ)言一樣,字符串是一個(gè)字符型數(shù)組,不同的是,C字符串并不表明字符串長(zhǎng)度,它是以