質問: dos窓の数値計算でエラーが出たり出なかったりします windows98でvc6を使って,dos窓のみで実行する数値計算(シミュレーション)のプログラムをデバッグ中です.「不正な処理.....」のエラーに対して,同じexeファイルを別のパソコン(windows98機)2台で実行させたところ,2台ともエラーが出ませんでした.ソースをunix機およびnt機に持って行ってコンパイル実行してもエラーが出ませんでした. こんな現象がなぜ生じるのか理解に苦しんでいます.cpuはpentiumii450mhz,メモリは128mbです. しかも, ・デバッグ用にprintf文を随所に入れると,正常動作しますし, ・逆に始めからある進行モニタ用のprintf文をコメントアウトしただけでも正常動作します。 ヒントとか,以前に似たような経験をされた方がいましたら,何でもお教えくだされば幸いです。
回答: vcといっても、コンソールアプリってことはいわゆるcで書かれているんですよね? ojopuさんもおっしゃってる通りprintfで動作が変わるって事は、メモリ管理部分で なんかバグが潜んでいるんでしょうね。 領域確保が正しく行われているかどうか、オート変数がちゃんと初期化されているか 実体とポインタが正しく扱われているかなんかがチェックポイントでしょうね。 あとは、printf入れることで最適化の方法が変わったりしますので、それによって バグが出る場合もありますね。