#gcc #aix #porting #xlc
#gcc #aix #перенос #xlc
Вопрос:
В настоящее время я переношу свой компилятор с компилятора AIX XLC на компилятор GCC на AIX.
Я хочу знать, существует ли эквивалентная опция компилятора GCC для -qthreaded (XLC).
Комментарии:
1. Это было бы
-pthread
Ответ №1:
-pthread
является наиболее близким параметром GCC для случаев использования, когда -qthreaded
применяется для XL; однако он не эквивалентен -qthreaded
параметру для IBM XL.
В документации GCC для -pthread
просто указано, что он устанавливает макросы (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
по крайней мере частично было бы эквивалентно GCC -qthreaded
.