Importancia de -pthread flag al comstackr

En varios proyectos C y C ++ con múltiples subprocesos, he visto que se -pthread bandera -pthread tanto a la etapa de comstackción como a la de vinculación, mientras que otros no la usan en absoluto y simplemente pasan -lpthread a la etapa de vinculación.

¿Existe algún peligro de no comstackr y vincular con la bandera de -pthread ? Es decir, ¿qué hace realmente la -pthread ? Estoy interesado principalmente en plataformas Linux.

Tratar:

 gcc -dumpspecs | grep pthread 

y busca cualquier cosa que comience con %{pthread:

En mi computadora, esto hace que los archivos se -D_REENTRANT con -D_REENTRANT y se vinculen con -lpthread . En otras plataformas, esto podría diferir. Use -pthread para la mayor portabilidad.

Usar _REENTRANT , en GNU libc, cambia la forma en que funcionan algunos encabezados de libc. Como ejemplo específico, hace que errno llame a una función que devuelve una ubicación local de subprocesos.

De man gcc :

-pthread Agrega soporte para multihilo con la biblioteca pthreads. Esta opción establece indicadores tanto para el preprocesador como para el enlazador.