Какова эквивалентность gcc для опции компилятора Xlc ‘-qthreaded’?

#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 .