В документации по GCC (6.2.0), он рассматривается как платформа конкретных вариант. В отношении RS6000 and PowerPC он гласит:
-pthread
.
Добавляет поддержку многопоточности с помощью библиотеки pthreads. Эта опция устанавливает флаги как для препроцессора, так и для компоновщика.
Для Solaris 2, он говорит:
-pthreads
.
Добавить поддержку многопоточности с использованием библиотеки потоков POSIX. Эта опция устанавливает флаги как для препроцессора, так и для компоновщика. Этот параметр не влияет на безопасность потока объектного кода, созданного компилятором или библиотеки, поставляемой вместе с ним.
-pthread
.
Это синоним для -pthreads
.
Общая «нить» (извините - не удержалась) заключается в том, что она обеспечивает компиляцию и привязку кода к параметрам, которые обеспечивают использование библиотеки потоков POSIX. То же самое можно сказать и на других платформах, где эта опция работает (Linux, macOS Sierra, Mac OS X до нее ...), она будет связываться с правой библиотекой и включать любые соответствующие параметры препроцессора.
можно сравнить вывод:
gcc -v -pthread -o x1 pthread-prog.c
gcc -v. -o x2 pthread-prog.c
, чтобы увидеть, какие различия вариант -pthread
делает. На macOS Sierra он добавляет -D_REENTRANT
в фазу cc1
и -pthread
в настройку «COLLECT_GCC_OPTIONS».