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

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

13
задан 14 February 2014 в 11:53

5 ответов

Используйте:

gcc MyProgram.c -o MyProgram -lpthread 

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

0
ответ дан 14 February 2014 в 11:53

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

gcc xyz.c -o xyz -lpthread

Здесь

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

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

0
ответ дан 14 February 2014 в 11:53

Первое, что вам понадобится в Ubuntu для компиляции программ на языке Си / Си ++, - это установка 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 Thread), должен быть доступен по умолчанию с GCC, поэтому простое включение его в ваш C-файл будет выполнять эту работу, в случае, если оно недоступно, простой поиск Google должен помочь. ;)

Обновление

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

0
ответ дан 14 February 2014 в 11:53

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

gcc -lpthread -o output_file program_pthread.c

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

0
ответ дан 14 February 2014 в 11:53

Для программы на C ++:

g++ -std=c++11 Myprogram.cpp -o MyProgramTest -lpthread
0
ответ дан 14 February 2014 в 11:53

Другие вопросы по тегам:

Похожие вопросы: