Boost 如何解释开放组基本规范6中的_POSIX_线程的允许值?

Boost 如何解释开放组基本规范6中的_POSIX_线程的允许值?,boost,pthreads,posix,standards,Boost,Pthreads,Posix,Standards,这表示值为-1、0或200112L,但不表示每个值代表的内容 注释表明大于零的值表示posix线程支持,但附近的预处理器检查似乎将零解释为“线程已启用” 如何解释这三个允许值?特别是,-1是否表示“没有线程”?零是指线程还是没有线程?我猜200112L意味着线程,但我也对这方面的更多信息感兴趣 基本上,我只想验证boost预处理器检查是否是测试posix线程存在的正确方法,尽管这看起来有点误导性。引用您引用的posix规范页面: 如果使用值-1定义符号常量,则不支持该选项。不需要提供仅用于选项的

这表示值为-1、0或200112L,但不表示每个值代表的内容

注释表明大于零的值表示posix线程支持,但附近的预处理器检查似乎将零解释为“线程已启用”

如何解释这三个允许值?特别是,-1是否表示“没有线程”?零是指线程还是没有线程?我猜200112L意味着线程,但我也对这方面的更多信息感兴趣


基本上,我只想验证boost预处理器检查是否是测试posix线程存在的正确方法,尽管这看起来有点误导性。

引用您引用的posix规范页面:

如果使用值-1定义符号常量,则不支持该选项。不需要提供仅用于选项的标题、数据类型和函数接口。如果应用程序试图使用仅与该选项相关的任何内容,则认为该应用程序需要扩展。 如果符号常量的定义值大于零,则在执行应用程序时,应始终支持该选项。应提供所有标题、数据类型和功能,并按规定操作。 如果符号常量的值为零,则应显示所有标题、数据类型和函数。应用程序可以在运行时通过使用指定的名称参数调用fpathconf()、pathconf()或sysconf()来检查是否支持该选项。
哇,不知道我怎么会错过那部分。我猜Ctrl-F for _POSIX_线程跳过了相关部分。谢谢你指出这一点。