在 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
報告日期: 02/20/2004
最後更新: 08/06/2008
文件偏號: 36JGRQFP
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.