gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 19:04:59 24 4
gpt4 key购买 nike

我用 C++ 编写了一个程序,它使用 timer_settime Ubuntu下的函数,然后让 friend 尝试在Mac OS X下编译。timer_settime的man page表示此函数符合 POSIX.1-2001,但在 OS X(据称符合 POSIX)下,g++ 会出现编译错误。网络搜索显示 OS X API 中没有此功能。

这是否意味着 OS X 不完全符合 POSIX,还是我误解了 POSIX 合规性是什么意思?

编辑:我查看了 POSIX draft并在第 2063 页按字母顺序排列的系统接口(interface)列表中找到了这个函数,紧挨着标准 C 函数,例如 printf ,因此在我看来 timer_settime是标准的某种扩展。

最佳答案

事实证明,高级计时器的功能类似于 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 年最近发布的。我 friend 的电脑运行 OS X 10.9,它也在 2013 年底发布,因此我认为它不符合最新标准。然而,维基百科 says 2014 年底发布的最新 OS X v10.10 "Yosemite"完全符合 POSIX。

然而,毕竟,当某些功能被标准默默地标记为“扩展”并且手册页没有提到这一重要事实时,我仍然不明白应该如何编写可移植代码。

关于macos - Mac OS X POSIX 不兼容吗? (timer_settime),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27473964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com