我目前正将我的编译器从AIX XLC编译器移植到AIX上的GCC编译器。
我想知道是否有可用于-qthreaded(XLC)的GCC等效编译器选项。
-pthread
是最接近GCC选项的用例,其中-qthreaded
适用于XL;但是,它不等同于IBM XL的-qthreaded
选项。
-pthread
的GCC文档仅表明它设置了宏(http://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html#index-pthread)并修改了链接步骤(http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#index-pthread-1)。 -qthreaded
不会导致_THREAD_SAFE
被定义为宏,也不会导致-lpthreads
出现在链接步骤中。 GCC的-pthread
更像是XL的_r
调用(它设置宏并修改链接步骤)。
-qthreaded
所做的是禁用对多线程程序不安全的优化。看来,至少从历史上看,-fno-tree-loop-if-convert-stores
至少部分是与-qthreaded
相当的GCC。