我宁愿不转储代码,但要解释我的问题。经过几个小时的调试后,我设法理解,在我的代码中的某个时刻,未明确修改的浮点值变为巨大(超过1e15)。我在我的程序中使用了大量内存(一个包含800多个单词的字符串数组),除此之外,我不知道是什么原因造成的。
如果有人对此有任何想法,请分享。否则,我会张贴一个 代码很快。
修改
以下是代码:http://pastebin.com/vgiZweNq。问题出在next_generation()
函数中,sumfit
变量在循环中随机出现。{/ p>
另外,我使用-fno-stack-limit
和-fstack-check
在linux上编译了这个,以避免堆栈溢出。
编辑2:
我已经将程序更改为使用动态分配的链表,以进一步避免堆栈溢出。尽管如此,sumfit
在随机点变为Floatzilla,通常很早就开始了。
干杯!
答案 0 :(得分:2)
由于变量显然是从意外点修改的,因此您可能需要检查一些可能性:
有关此平台的更多信息会有所帮助。
答案 1 :(得分:1)
你在chrom数组上使用了strcpy,但是我看不到它们在哪里被null终止。
可能我只是错过了它。
答案 2 :(得分:0)
你有一个巨大的字符串数组。我估计你可能会结束它。跟踪进入该阵列的数据大小。