2 ответов:
-pthreadуказывает компилятору связать в библиотеке pthread, а также настроить компиляцию для потоков.например, ниже показаны макросы, которые определяются при
-pthreadопция используется в пакете GCC, установленном на моей машине Ubuntu:$ gcc -pthread -E -dM test.c > dm.pthread.txt $ gcc -E -dM test.c > dm.nopthread.txt $ diff dm.pthread.txt dm.nopthread.txt 152d151 < #define _REENTRANT 1 208d206 < #define __USE_REENTRANT 1С помощью
-lpthreadопция только заставляет библиотеку pthread быть связанной-предопределенные макросы не определяются.итог: вы должны использовать
-pthreadвыбор.
Примечание:
-pthreadпараметр задокументирован как параметр для конкретной платформы в документах GCC, поэтому он не всегда может быть доступен. Однако он доступен на платформах, для которых документы GCC явно не перечисляют его (например, i386 и x86-64) - вы должны использовать его, когда он доступен.также обратите внимание, что другие подобные параметры были использованы GCC, такие как
-pthreads(указан как синоним для-pthreadна Солярисе 2) и-mthread(для MinGW-специфического потока поддержка на i386 и x86-64 Windows). Я понимаю, что GCC пытается перейти к использованию-pthreadравномерно продвигаясь вперед.
-pthreadдобавлена поддержка многопоточности с библиотекой pthreads. Этот параметр устанавливает флаги как для препроцессора, так и для компоновщика (man gcc).пока
-lpthreadпоявляется при связывании не будет никакого влияния при предварительной обработке.
Comments