我寫了一個數值模擬,作爲一個調整,我想添加一些基本的進度條。 在主循環中我寫道:編譯器拋出錯誤
if(particles.t>=pr*maxtime){
cout << "|";
pr+=0.01;
}
其中PR開始於0.01。所以,基本上它應該可以滿足一百個「|」在計算過程中。而不是它關閉這些「|」在模擬結束時,一次。
當我修改這個代碼:
if(particles.t>=pr*maxtime){
cout << pr << "\n";
pr+=0.01;
}
它的作品,因爲它應該。
我想它與優化有關,我正在使用g ++編譯我的代碼,並帶有選項-Wall和-lm。這樣的代碼在我剛剛用C#編寫時就起作用了。
@jal:它會改變可觀察行爲,他看到的問題是緩衝,而不是優化。 – PlasmaHH 2012-03-13 09:22:12
是的,我沒有正確閱讀代碼。我的錯。 :) – jalf 2012-03-13 09:29:46