En varios proyectos C y C++ de múltiples hilos, he visto que el indicador -pthread
se aplica a la etapa de compilación y enlace, mientras que otros no lo usan y simplemente pasan -lpthread
a la etapa de vinculación .Importancia de -pthread Indicador al compilar
¿Existe algún peligro de no compilar y vincular con el indicador -pthread
, es decir, qué hace realmente -pthread
? Estoy interesado principalmente en plataformas Linux.
Puede que no sea simplemente 'errno' y el preprocesamiento en general. No estoy seguro de cuán relevante es el artículo http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf para las optimizaciones de gcc, pero estoy impresionado por la profundidad de la revisión. ahí. –
No creo que el ejemplo de errno sea correcto. Incluso sin un -pthread flag o _REENTRANT define, mi errno.h (glibc 2.10.1) y gcc (4.4.1 en amd64) genera una llamada dinámica para el manejo de errno y no enlaza con la dirección del símbolo. –
@Andy: Acabo de hacer un grep para '_REENTRANT' en'/usr/include'; Estoy seguro de que hay otros ejemplos de su uso. –