我寧願不轉儲代碼,但解釋我的問題。經過幾個小時的調試,我終於明白,在我的代碼中,某個浮點值沒有明確修改,變成了很大(超過1e15)。我在我的程序中使用了大量的內存(一個包含800多個單詞的字符串數組),除此之外,我不知道可能會導致這種情況。浮動值突然變大
如果任何人有這方面的任何想法,請分享。否則,我會很快發佈一個 代碼的pastebin。
編輯: 這裏是代碼:http://pastebin.com/vgiZweNq。問題在於next_generation()
函數,其中sumfit
變量在循環中的隨機時間變爲堅果。
另外,我已經在linux上使用-fno-stack-limit
和-fstack-check
編譯過,以避免堆棧溢出。
編輯2: 我已經改變了程序使用動態分配鏈表,以進一步避免堆棧溢出。儘管如此,sumfit
隨機點更改爲Floatzilla,通常很早。
乾杯!
如果你沒有明確地觸及變量,我們最好的猜測是一些內存管理錯誤。發佈代碼,今天水晶球朦朧。 – zoul 2011-01-29 11:39:46