|
分類:[C/C++]
VC++6.0を使用しています。デバック環境はXPのみです。 コンパイルしたexeを動かす環境はWin2000、2003、XP、Vistaと様々です。
当初ループ処理で bool lp;
while(lp) { //ここに色々しょりがあって
//抜ける処理だけ抜粋 lp = false; }
などとやっていて特にデバックモード、リリースモードのexeどちらもWin2003、XP、Vistaでは うまく動いていました。 ところがWin2000でリリースモードのexeのみループ処理に入らなくなり、 おや?と思い、初期化かな?と思って、 bool lp; ⇒ bool lp =true; に変更しましたが駄目で、結局boolをintにして int lp = 1; 抜ける時は lp = 0; としてうまく動くようになりました。 ただ、なぜOSによって動く動かないが同じコンパイラなのにあるのか、 リリースモードだと動かないのかが気持ち悪くて・・・ どなたかご存知でしょうか? また今後Windows7ではこのコードで大丈夫でしょうか?
|