Posix

POSIX 一致性:NetBSD 5.1 <sys/time.h> gettimeofday 聲明

  • April 10, 2012

我正在編譯一些通過-D_POSIX_C_SOURCE=2.

該程式碼包含標頭檔&lt;sys/time.h&gt;並希望呼叫gettimeofday,但在 NetBSD 5.1 上,編譯器警告該函式未聲明。

查看 NetBSD 的標頭,我們看到 的聲明gettimeofday包含_POSIX_C_SOURCE至少200112.

真的是gettimeofday在 2001 年才引入 POSIX 嗎?這似乎不太對。1993 年,已經clock_gettime有了納秒和不同的時鐘類型,並且getttimeofday是古老的 4.2 BSD 東西。

在 GNU C 庫的&lt;sys/time.h&gt;,gettimeofday根本沒有被任何東西包裹。

哪個是正確的:NetBSD 標頭,還是我的程式碼依賴於_POSIX_C_SOURCE=2揭示gettimeofday(和 glibc,無條件地提供它)的聲明?

http://pubs.opengroup.org/onlinepubs/009604599/functions/gettimeofday.html確實說它是在 2001 年添加的。

引用自:https://unix.stackexchange.com/questions/36172