como compilar um programa ac que usa pthread.h?


14

Sou iniciante e sou novo no Ubuntu. Acabei de instalar e quero executar um programa em C. Não tenho idéia de qual plataforma usar ou onde escrever o código. Eu preciso usar o arquivo de cabeçalho pthread.h no programa. Alguém pode me ajudar?


Respostas:


21

Usar:

gcc MyProgram.c -o MyProgram -lpthread 

e não se esqueça de incluir a biblioteca POSIX no seu código. Ele irá compilar seu código.


2
por padrão, o GCC não inclui a biblioteca pthread. então você deve incluir a biblioteca usando o argumento lpthread.
Parthiv Shah

Observe também que no gcc-4.8 não há -lpthreadargumento man gcc. Mas há uma -pthreaddiscussão. Ambos funcionam bem no Ubuntu 14.04 com gcc-4.8.
Elias Lynn

1

Se você for compilar um programa C com pthread.h no LINUX usando GCC ou G ++, será necessário usar a opção –lpthread após o comando compile.

gcc xyz.c -o xyz -lpthread

Aqui,

gcc é o comando do compilador (nome do compilador)
xyz.c é um nome de arquivo de origem.
-o é uma opção para criar um arquivo objcect.
xyz é o nome do arquivo de objeto (binário).
-lpthread é uma opção para pthread.h

para mais detalhes, aqui está o link que contém o artigo completo.
Compilando o programa C com pthread.h no Linux.


0

A primeira coisa que você precisará no Ubuntu para compilar programas C / C ++ é instalar o GCC (Gnu Compiler Collection), que faz parte do build-essentialpacote, faça isso executando:

sudo apt-get install build-essential

Em seguida, você pode testar se você o instalou executando gcc. Se você Fatal error: file not providedvir um erro como (não tem certeza da mensagem de erro exata, mas deve ser algo semelhante), isso significa que você tem o compilador pronto.

E para editar seu código, você pode usar o Gedit já disponível , basta procurá-lo no Dash.

Agora, a seguir está a sintaxe para compilar o arquivo de origem C, execute a seguir onde está o arquivo:

gcc MyProgram.c -o MyProgram

Onde, switch -oé opcional, mas fornecido para mencionar o nome do arquivo binário que deve ser criado a partir da sua fonte.

Em seguida, basta executar ./MyProgrampara executar o seu binário.

Observe que, pthread.hcomo você mencionou (POSIX Thread), deve estar disponível por padrão no GCC; portanto, simplesmente incluí-lo no seu arquivo C fará esse trabalho, caso não esteja disponível, uma simples pesquisa no Google deve ajudar. ;)

Atualizar

Muito tempo, não leu? verifique isso . : D


0

Se der erro, você pode tentar o mesmo comando trocando os parâmetros como

gcc -lpthread -o output_file program_pthread.c

Depois disso, ./output_filefornece saída para o programa e aqui program_pthread.cestá o programa pthread que você implementou.


0

Para o programa C ++:

g++ -std=c++11 Myprogram.cpp -o MyProgramTest -lpthread
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.