segunda-feira, 24 de dezembro de 2007

NetBeans C/C++ Pack e Pthread





NetBeans cada dia melhor, agora pode-se utilizar esta ferramenta para auxiliar na programação com C/C++, assim como outras linguagens: Java(Padrão), PHP e Ruby.

Para quem está começando a utilizar o NetBeans C/C++ Pack, caso queira utilizar a biblioteca pthread poderá encontrar o seguinte erro na compilação:

O erro undefined reference to 'pthread_create' aparece, pois o Netbeans está executando o seguinte comando:

gcc teste teste.c



Para compilar utilizando a biblioteca pthread é necessário passar o parâmetro -lpthread, como no exemplo:

gcc -lpthread teste teste.c



No NetBeans, clique com botão direito do mouse sobre seu Projeto Principal e selecione Properties, em seguida Linker->Command Line e na linha Additional Options coloque no campo em branco -lpthread


Código Fonte Exemplo:


#include <pthread.h>

void* threadfunc(void* a)
{
// processando alguma coisa

return a;
}

int main()
{
int argumento = 42;

// Inicializando thread
pthread_t myThread;
pthread_create(&myThread,NULL,threadfunc,(void*)(argumento));

// ok, a thread já está executando

/* coloque aqui outro código para ser executado
em paralelo com a thread criada*/

return 0;
}


Referências:
https://computing.llnl.gov/tutorials/pthreads/
http://www.netbeans.org/features/cpp/index.html
http://www.slacklife.com.br/forum/viewtopic.php?p=70716

Um comentário:

Bruno Rosa disse...

Obrigado pela dica!

Resolveu o meu problema...