看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《hyestt (小傑)》之銘言: : void wait ( double seconds ) : { : clock_t endwait; : endwait = clock () + seconds * CLOCKS_PER_SEC ; : while (clock() < endwait) {} : } : 1.不能直接while(0<endwait)嗎? 沒有不能, 你了解那是做什麼就行 : 2.如果這是放在for迴圈裡跑 那clock()會重算嗎? 怎樣個放在 for 迴圈? 你兩個問題, 其實自己做個實驗就該了解了啦 不然, 開個 debugger, 跟著 trace 一會兒 觀察程式的 flow 和各個變數的改變, 就該什 麼都明白了吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
su31o4gj83:我同意"沒有不能", 要稍微調整一下endwait即可 07/06 20:56
su31o4gj83:我比較好奇的是, 在C++下有更好的方法嗎? 07/06 20:57
su31o4gj83:因為感覺放一個while()一直在那邊跑感覺很沒效率 07/06 20:58
james732:利用作業系統提供的函式 讓程式sleep吧 07/06 21:00
james732:win有Sleep, Unix有sleep, 不會浪費CPU時間 07/06 21:06
su31o4gj83:了解, 的確是蠻好的方法, 感謝 07/06 21:07