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

看板C_and_CPP (C/C++)作者 ( 殺手哥吉拉 13)時間16年前 (2009/02/14 20:51), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串6/7 (看更多)
※ 引述《allanyh (allan)》之銘言: : ※ 引述《WalkingIce ( 殺手哥吉拉 13)》之銘言: : : 就像這一段的解釋, CLOCKS_PER_SEC 沒有給你甚麼訊息。 : : 你要除以 CLK_TCK 就會得到秒數了 : 不好意思,這樣我又有點迷糊了,因為我的程式不可能跑100秒啊,不到一秒鐘就run出來了 : 到底哪個才是把clock換算成秒數 你要算程式跑了多久是嗎? 1 #include <stdlib.h> 2 #include <stdio.h> 3 #include <time.h> 4 5 int main() { 6 clock_t start,finish; 7 start = times(NULL); 8 int i = 0, temp = 0; 9 for(i = 0; i < 100000000 ; i++) { 10 // do nothing 11 } 12 sleep(2); 13 finish = times(NULL); 14 float elapsed = (float)(finish - start) / sysconf(2); 15 printf("Start: %d\nFinish: %d\n", start, finish); 16 printf("Passed:%f\n", elapsed); 17 } $ gcc clock.c && ./a.out Start: 1728665314 Finish: 1728665543 Passed:2.290000 或著你可以試試 gettimeofday,前幾天剛拿來用 // Borrowed this part of code from ecore_time.c of Enlightenment project. /* FIXME: clock_gettime() is an option... */ /** * Retrieves the current system time as a floating point value in seconds. * @return The number of seconds since 12.00AM 1st January 1970. */ double dindin_time_get(void) { struct timeval timev; gettimeofday(&timev, NULL); return (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000); } -- 有一天小明跟朋友打牌,有張牌不小心掉進水裡。此時女神出現了 女神:「你掉的是這張紅中,還是這張白板?」 小明:「都不是,我掉的是青發。快還我吧大嬸,我缺那張牌就自摸了」 女神:「.................(不爽)」 「你真是誠實的好孩子,紅中跟白板都送你吧」 於是小明就相公了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.177.157

02/18 18:36, , 1F
冰哥你真是個好人
02/18 18:36, 1F
文章代碼(AID): #19bhvKpi (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #19bhvKpi (C_and_CPP)