153 votes

GCC - importance du drapeau - pthread lors de la compilation

Dans divers multi threaded projets C et C++, j’ai vu le indicateur appliqué à la fois la compilation et la liaison scène tandis que d’autres ne l’utiliser du tout et il suffit d’indiquer à l’étape de liaison.

Existe-t-il un risque pas compiler et lier avec le drapeau - savoir ce que fait actully faire ? Je suis principalement intéressé dans les plates-formes linux.

116voto

Chris Jester-Young Points 102876

Essayez:

gcc -dumpspecs | grep pthread

et de rechercher tout ce qui commence par %{pthread:.

Sur mon ordinateur, ce qui provoque des fichiers à compiler avec -D_REENTRANT, et en lien avec -lpthread. Sur d'autres plates-formes, ce qui pourrait différer. Utiliser -pthread pour plus de portabilité.

À l'aide de _REENTRANT, sur GNU libc, les changements de la façon dont certains de la libc en-têtes de travail. A titre d'exemple spécifique, il fait errno appeler une fonction retournant un thread local.

43voto

Dmitry Points 3946

De `` :

-pthread Adds support pour multithreading avec la bibliothèque pthreads. Cette option définit les indicateurs pour le préprocesseur et éditeur de liens.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X