Re: [問題] unix下 c++程式 CLOCKS_PER_SEC 與CLK_ …

看板C_and_CPP (C/C++)作者 (allan)時間16年前 (2009/02/12 07:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/7 (看更多)
※ 引述《WalkingIce ( 殺手哥吉拉 13)》之銘言: : ※ 引述《allanyh (allan)》之銘言: : : 請教各位版友: : : 我在 unix下執行c++程式 : : void main() : : { : : clock_t start, finish; : : double duration1,duration2; : : start = clock(); : : ... : : ... : : finish = clock(); : : duration1 = (double)(finish - start) / CLOCKS_PER_SEC; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 感謝W兄的解答,再請教 如果 CLOCKS_PER_SEC=1000000, 那上面這一行會是相當把clock數換算成於秒數嗎?? 非常感謝 : : duration2 = (double)(finish - start) / CLK_TCK; : : printf("duration1:[%3f], duration2:[%3f]\n",duration1,duration2); : : } : : 跑出來結果會不同?? duration1:[0.01], duration2:[100],差了快10^4了 : : 請問CLOCKS_PER_SEC跟CLK_TCK差別在哪?? : 看看 header 檔就知道了。(or "man 3 clock") : /usr/include/bits/time.h : CLK_TCK 這個數字是 100,它來自於 sysconf(2) : clock ticks - _SC_CLK_TCK : The number of clock ticks per second. The corresponding variable : is obsolete. It was of course called CLK_TCK. (Note: the macro : CLOCKS_PER_SEC does not give information: it must equal 1000000.) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.234.225
文章代碼(AID): #19asG0wx (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #19asG0wx (C_and_CPP)