Answers:
尝试:
gcc -dumpspecs | grep pthread并寻找任何以 %{pthread:。。
在我的计算机上,这导致使用编译文件-D_REENTRANT并与链接-lpthread。在其他平台上,这可能有所不同。使用-pthread于大多数便携性。
_REENTRANT在GNU libc上使用,可以更改某些libc标头的工作方式。作为一个具体示例,它使errno调用函数返回线程本地位置。
-D_REENTRANT或-pthread自动提供的。使用运行您的构建,g++ -v它将转储有关编译器前端实际传递给cc1plusand的参数的大量输出ld。
                    
errno一般而言,可能不只是预处理。我不确定hpl.hp.com/techreports/2004/HPL-2004-209.pdf对于gcc优化在实践中有多重要,但是我对那里的评论深度印象深刻。