[問題] 如何在linux上寫執行時間的程式?

看板Linux作者 (千里之外)時間14年前 (2011/09/08 23:56), 編輯推噓6(6013)
留言19則, 8人參與, 最新討論串1/3 (看更多)
在windows上寫c如下 #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void){ time_t t1,t2; // typedef time_t long; t1 = time(NULL); Sleep(1234); t2 = time(NULL); printf("%ld secs\n",t2-t1); system("pause"); return 0; } 可顯示執行這程式的時間約 2 sec。 請問在linux上該怎麼寫呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.115.213

09/09 00:19, , 1F
直接用 time 去run 你的程式不好嗎 XD
09/09 00:19, 1F

09/09 00:56, , 3F
這隻程式改一改在 Linux 底下也可以用啊
09/09 00:56, 3F

09/09 00:59, , 4F

09/09 01:02, , 5F
linux 不是有sleep嗎?
09/09 01:02, 5F

09/09 01:03, , 6F
sleep 單位是秒,我想說可能不太符合原po的需求
09/09 01:03, 6F

09/09 01:03, , 7F
sleep就只能停一秒或兩秒了
09/09 01:03, 7F

09/09 01:06, , 8F
喔喔 了解
09/09 01:06, 8F

09/09 01:27, , 9F
謝謝樓上各位..
09/09 01:27, 9F

09/09 01:32, , 10F
sleep可以用小數啊
09/09 01:32, 10F

09/09 01:33, , 11F
後面是用nanosleep() call
09/09 01:33, 11F

09/09 01:54, , 12F
unsigned int sleep(unsigned int seconds);
09/09 01:54, 12F

09/09 01:54, , 13F
↑這個sleep可以傳小數?
09/09 01:54, 13F

09/09 02:53, , 14F
要更精密可以用 usleep 單位是uS include <unistd.h>
09/09 02:53, 14F

09/09 02:54, , 15F
比WINDOWS的Sleep 快了1000倍
09/09 02:54, 15F

09/09 07:17, , 16F
直接用nanosleep嘛XD
09/09 07:17, 16F

09/09 10:48, , 17F
一樓正解
09/09 10:48, 17F

09/11 10:59, , 18F
nanosleep其實沒啥意義,因為JOB/PROCESS能到nS的機器
09/11 10:59, 18F

09/11 11:00, , 19F
並不普及(很稀有),叫了不會讓CPU LOAD減少反而爆增
09/11 11:00, 19F
文章代碼(AID): #1EQEMY_s (Linux)
文章代碼(AID): #1EQEMY_s (Linux)