在许多多线程的C和C++项目中,我看到在编译和链接阶段都使用了
没有使用
-pthread
标志,而其他一些则根本不使用它,只是在链接阶段传递-lpthread
。没有使用
-pthread
标志进行编译和链接是否存在任何危险?也就是说,-pthread
实际上是做什么的?我主要关心Linux平台。
errno
和预处理的问题。我不确定文章 http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf 在实践中对于 gcc 优化有多大的相关性,但我印象深刻的是那里进行的审查的深度。 - Pascal Cuoq-D_REENTRANT
或-pthread
。使用g++ -v
运行你的构建,它会输出大量关于编译器前端实际传递给cc1plus
和ld
的参数信息。 - Tom-pthread
在不同的平台上有不同的作用,但它们都以某种方式使 pthreads 能够工作。因此,省略-pthread
可能会导致 pthreads 无法工作(或者不可靠地工作),或者对于已经开箱即用支持 pthreads 的平台可能没有任何影响。 - C. K. Young