【发布时间】:2013-02-07 23:28:41
【问题描述】:
关于较新版本的 C 标准库中的thread safe functions,是否有一种跨平台的方式来判断它们是否可以通过预处理器定义获得?我指的是localtime_r()等函数。
如果没有标准的方式,GCC中可靠的方式是什么? [编辑] 还是带有 unistd.h 的 posix 系统?
【问题讨论】:
-
这就是 autoconf 的诞生。
-
最好使用 Autoconf。 Autoconf 将为您创建测试。
-
同上,但使用 CMake ;)
-
如果可以使用预处理器完成,他们就不必发明 autoconf、CMake 等了。
-
这些函数在 POSIX 中是强制性的,因此如果在包含
unistd.h之后将_POSIX_VERSION定义为与 POSIX 的合理最新版本匹配的内容,则这些函数必须可用。