在 LabVIEW 裡 For 迴圈出現 Memory Is Full 錯誤



主要軟體:
主要軟體版本: 7.1
主要軟體修正版本:
次要軟體: N/A

問題:

我用了一個很大的陣列來 index 一個 for 迴圈。當我執行 VI 時,我得到以下的錯誤訊息說我的記憶體滿了。

我在 VI Properties 和工作管理員裡檢查了我的記憶體使用量,一切看來正常。出了甚麼錯?



解答:

這個錯誤是當陣列包含超過 2^31 個元素來 index 一個 For 迴圈時所產生的。陣列可以有高達 2^32 個元素,但是 For 迴圈只能 index 到 2^31。這是因為 N terminal 所使用的是 I32 的資料形態而不是 U32。I32 資料型態的最後一位元被用來表示值是正或負。

要避開這個限制,你可以把你的陣列分成兩個比較小的,或是把 For 迴圈換成 While 迴圈然後比對迴圈執行次數與陣列大小,在兩者相等的時候終止。



相關連結:

附加檔案:


MemoryIsFull.jpg - MemoryIsFull.jpg



報告日期: 02/20/2004
最後更新: 08/06/2008
文件偏號: 36JGRQFP