我目前正在研究处理大量数据的Windows XP中的C++程序.我们最大的输入文件导致程序意外终止,没有任何错误消息.有趣的是,当程序从我们的IDE(Code :: Blocks)运行时,处理文件时没有任何此类问题.
在处理数据时,它被放置在树结构中.在我们完成计算之后,数据被移动到C++ STL向量中,然后被发送出去在OpenGL中呈现.
我希望能够深入了解可能导致此次崩溃的原因.我已经查看了另一篇文章,由于我是新用户,因此无法发布链接.帖子中的问题与我的非常相似,是由数组的超出索引引起的.但是,我很确定没有发生这样的越界错误.
我想知道,在为向量分配空间时,数据集的大小是否会导致问题.从理论上讲,我一直在测试程序的系统应该有足够的内存来处理数据(2GB的RAM,数据集占用大约1GB).当然,如果存储器服务,则STL向量在达到其容量时简单地将其分配的空间加倍.
谢谢,埃里克
编译器的警告级别设置为max.
然后检查所有警告.我猜它是一个未初始化的变量(在调试模式下被初始化为NULL/0).
就个人而言,我已经设置了模板,以便警告始终处于最大值,并且警告被标记为错误,因此编译将失败.