掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コンパイルオプション変更での挙動の変化 (ID:72393)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
環境:WinXP SP3 VC++6 いつもお世話になっております。 メニュー→プロジェクトの設定→C/C++で変更できる、 最適化で、実行速度(O2)もしくはプログラムサイズ(O1)を指定すると 挙動が変わるのですが何故こうなるのか教えて頂きたいです。 参考になるページでも良いのでお願い致します。 void hoge(int i, int ii) { CString s; s.Format("%d %d\n", i, ii); AfxMessageBox(s); } void CMyTestDlg::OnButton1() { for(int i=0; i<5;) hoge(i++, i); } 結果: コンパイルオプションO2もしくはO1 0 1 1 2 2 3 3 4 4 5 コンパイルオプションODもしくはD 0 0 1 1 2 2 3 3 4 4 リリースの時のみ強制終了するバグを調べてたら行き着きました。 これって結構常識なんでしょうか・・・ オプション次第で挙動が変わる別の例などもあったら是非ご教授下さい。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.