Posix
POSIX 一致性:NetBSD 5.1 <sys/time.h> gettimeofday 聲明
我正在編譯一些通過
-D_POSIX_C_SOURCE=2
.該程式碼包含標頭檔
<sys/time.h>
並希望呼叫gettimeofday
,但在 NetBSD 5.1 上,編譯器警告該函式未聲明。查看 NetBSD 的標頭,我們看到 的聲明
gettimeofday
包含_POSIX_C_SOURCE
至少200112
.真的是
gettimeofday
在 2001 年才引入 POSIX 嗎?這似乎不太對。1993 年,已經clock_gettime
有了納秒和不同的時鐘類型,並且getttimeofday
是古老的 4.2 BSD 東西。在 GNU C 庫的
<sys/time.h>
,gettimeofday
根本沒有被任何東西包裹。哪個是正確的:NetBSD 標頭,還是我的程式碼依賴於
_POSIX_C_SOURCE=2
揭示gettimeofday
(和 glibc,無條件地提供它)的聲明?
http://pubs.opengroup.org/onlinepubs/009604599/functions/gettimeofday.html確實說它是在 2001 年添加的。