現在、大きなデータセットを処理するWindows XPのC++プログラムで作業しています。最大の入力ファイルは、エラーメッセージの種類なしでプログラムが予期せず終了する原因となります。興味深いことに、プログラムが私たちのIDE(Code :: Blocks)から実行されると、ファイルはそのような問題なしに処理されます。IDEの外で実行するとプログラムがクラッシュする
データが処理されるにつれて、ツリー構造に配置されます。計算が終了すると、データはOpenGLでレンダリングされる前にC++ STLベクタに移動されます。
私はこのクラッシュを引き起こしている可能性についていくつかの洞察を得ることを望んでいました。私はすでに新しいユーザーであるため、リンクを投稿できない別の投稿をチェックアウトしました。このポストの問題は、私のものと非常によく似ていて、配列の範囲外インデックスから生じました。しかし、私はそのような範囲外のエラーは起こっていないと確信しています。
おそらく、データセットのサイズがベクトルのためのスペースを割り当てるときに問題につながっているのだろうかと思います。私がプログラムをテストしているシステムでは、理論上、データを処理するのに十分なメモリが必要です(2GBのRAMと約1GBのデータを格納したデータセット)。もちろん、メモリが使用されている場合、STLベクトルは、容量に達すると、割り当てられたスペースを単純に2倍にします。
おかげで、エリック
IDEの外でアプリを実行すると、それを再コンパイルするのですか? デバッグビルドを実行していますか? – cbrulak
私はデバッグビルドとリリースビルドの両方を試しましたが、どちらも同じ結果をもたらします。 – Eric
dllはどうですか? DLLなどでリンクしていますか?あなたは、シェル対cmdの行を介してそれを実行しようとしましたか? – cbrulak