Как скомпилировать программу переменного тока, которая использует pthread.h?


14

Я новичок и я новичок в Ubuntu. Я только что установил его и хочу запустить программу на Си. Я понятия не имею, какую платформу использовать или где писать код. Мне нужно использовать заголовочный файл pthread.h в программе. Может кто-нибудь мне помочь?


Ответы:


21

Использование:

gcc MyProgram.c -o MyProgram -lpthread 

и не забудьте включить библиотеку POSIX в ваш код. Это скомпилирует ваш код.


2
по умолчанию GCC не включает библиотеку pthread. поэтому вы должны включить библиотеку, используя аргумент lpthread.
Parthiv Shah

Также обратите внимание, что в gcc-4.8 нет -lpthreadаргумента в man gcc. Но есть -pthreadаргумент. Оба прекрасно работают на Ubuntu 14.04 с gcc-4.8.
Элайджа Линн

1

Если вы собираетесь скомпилировать программу на C с помощью pthread.h в LINUX, используя GCC или G ++, вам нужно будет использовать опцию –lpthread после команды compile.

gcc xyz.c -o xyz -lpthread

Вот,

gcc - команда компилятора (имя компилятора)
xyz.c - имя исходного файла.
-o это опция для создания файла objcect.
xyz - имя файла объекта (двоичного файла).
-lpthread - это опция для pthread.h

для получения более подробной информации здесь ссылка на полную статью об этом.
Компиляция программы на C с помощью pthread.h в Linux.


0

Первое, что вам понадобится в Ubuntu для компиляции программ на C / C ++, это установка GCC (Gnu Compiler Collection), которая является частью build-essentialпакета, сделайте это, выполнив:

sudo apt-get install build-essential

Затем вы можете проверить, установлен ли он, запустив gcc. Если вы видите сообщение об ошибке Fatal error: file not provided(не совсем точное сообщение об ошибке, но должно быть что-то похожее), это означает, что у вас есть готовый компилятор.

А для редактирования своего кода вы можете использовать уже имеющийся Gedit , просто найдите его в Dash.

Теперь следующий синтаксис для компиляции вашего исходного файла C, выполните следующее, где ваш файл:

gcc MyProgram.c -o MyProgram

Где, переключатель не -oявляется обязательным, но при условии, чтобы упомянуть имя двоичного файла, который должен быть создан из вашего источника.

Затем просто ./MyProgramзапустите ваш двоичный файл.

Обратите внимание, что, pthread.hкак вы упомянули (поток POSIX), по умолчанию должен быть доступен с GCC, поэтому простое включение его в ваш C-файл сделает эту работу, в случае, если оно недоступно, простой поиск Google должен помочь. ;)

Обновить

Слишком долго, не читал? проверить это . : D


0

Если это дает ошибку, то вы можете попробовать ту же команду, поменяв параметры как

gcc -lpthread -o output_file program_pthread.c

после этого ./output_fileвыдает вывод для программы, и вот program_pthread.cпрограмма pthread, которую вы реализовали.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.