Mac OS X POSIX不兼容吗?(timer_settime)

Ole*_*nov 5 unix macos posix

我用C++编写了一个使用timer_settimeUbuntu下的函数的程序,然后让我的朋友尝试在Mac OS X下编译它.手册页timer_settime说这个函数符合POSIX.1-2001,但是在OS X下(声称符合POSIX)g ++给出了编译错误.Web搜索显示OS X API中不存在此功能.

这是否意味着OS X不完全符合POSIX,或者我误解了POSIX兼容性意味着什么?

编辑:我查看了POSIX草案,并在第2063页的系统界面的字母顺序列表中找到了这个函数,就像标准的C函数旁边一样printf,因此在我看来这不是timer_settime标准的某种扩展.

Ole*_*nov 5

事实证明,timer_settime像Ken Thomases所建议的那样,高级计时器功能确实是POSIX实时扩展的一部分.引用此功能的文档的更改历史记录:

问题6

timer_getoverrun(),timer_gettime()和timer_settime()函数被标记为Timers选项的一部分.

问题7

timer_getoverrun(),timer_gettime()和timer_settime()函数从Timers选项移动到Base.

最新的POSIX标准POSIX.1-2008第7期最近于2013年发布.我朋友的计算机运行的OS X 10.9也于2013年底发布,因此我认为它不符合最新标准.然而,维基百科,2014年底发布的最新OS X v10.10"Yosemite"完全符合POSIX标准.

但是,毕竟,当某些函数被标准静默标记为"扩展"并且手册页没有提到这个重要事实时,我仍然不明白如何编写可移植代码.