【发布时间】:2019-07-30 07:59:50
【问题描述】:
我目前正在将我的编译器从 AIX XLC 编译器移植到 AIX 上的 GCC 编译器。
我想知道-qthreaded (XLC) 是否有可用的 GCC 等效编译器选项。
【问题讨论】:
-
应该是
-pthread
我目前正在将我的编译器从 AIX XLC 编译器移植到 AIX 上的 GCC 编译器。
我想知道-qthreaded (XLC) 是否有可用的 GCC 等效编译器选项。
【问题讨论】:
-pthread
-pthread 是最接近将 -qthreaded 应用于 XL 的用例的 GCC 选项;但是,它不等同于 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。
【讨论】: