2011-03-14 104 views
8

如何在Unix平臺上以C語言打印當前微秒時間?C中的當前微秒時間?

+4

在什麼平臺上? – orlp 2011-03-14 20:01:57

+1

可能重複[以微秒獲取C中的時間戳?](http://stackoverflow.com/questions/5833094/get-a-timestamp-in-c-in-microseconds)現在可以使用C11中的'timespec_get': http://stackoverflow.com/a/36095514/895245 – 2016-03-18 22:49:38

回答

2

C標準沒有提供標準的手段。然而,clock()函數返回CLOCK的時間。還有CLOCKS_PER_SEC CLOCK在一秒鐘之內。在我的機器和實現中,CLOCKS_PER_SEC被定義爲1000.在<time.h>中定義clockCLOCKS_PER_SEC。希望這有幫助

5

沒有便攜式(多平臺)的方式來獲得該號碼。例如,在Linux(或其他POSIX系統)上,呼叫gettimeofday提供了精確的準確度(但準確度取決於該時間是否可用並在特定硬件上實現)。

+1

嚴格地說,我認爲它提供了*精度*,不一定準確。但是AFAIK這是您在掛鐘時間最好的。 – 2011-03-14 20:09:54

+0

@Steve Jessop:Thanx。糾正。 – 6502 2011-03-14 20:12:17

7

在Linux和BSD中,您可以使用gettimeofday()函數。這填充了一個timeval結構,它具有自紀元以來的秒數字段和一個字段(微秒)。此功能已棄用。較高的分辨率clock_gettime()是最受歡迎的替代品,但Mac OS X未實現它。我不確定Windows是否實現了其中之一。

+0

對於在OS X上分辨率高於微秒的分辨率,請嘗試以下答案:http://stackoverflow.com/questions/5167269/clock-gettime-alternative-in-mac-os-x – mkb 2012-12-07 15:35:07

相關問題