Você esqueceu de vincular uma biblioteca dinâmica?
% bl0ck_qu0te%Outros erros:
% bl0ck_qu0te%Eu tenho um pequeno programa que deve iniciar um segundo thread. O problema é que, ao tentar fazer um arquivo executável deste programa usando make. Eu recebo:
engine@ubuntu:~/Desktop/Lecture$ make thread
cc thread.c -o thread
thread.c: In function ‘main’:
thread.c:10:2: error: unknown type name ‘pthread’ .............
aqui está o meu código:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <errno.h>
void *func(void*);
int main(){
pthread tid;
if (pthread_create(&tid,NULL,fun,NULL)!= 0 ){
printf("error by _ pthread \n");
}
printf ( "thread output1 \n");
sleep(1);
return EXIT_SUCCESS;
}
void *fun(void* data){
printf("thread output2 \n")
}
Eu não acho que o programa esteja errado, talvez do jeito que estou executando o comando make?
alguma idéia por que eu recebo isso. Agradecemos antecipadamente por sua ajuda
Você esqueceu de vincular uma biblioteca dinâmica?
% bl0ck_qu0te%Outros erros:
% bl0ck_qu0te% De acordo com a página de manual de pthread_create
e algum código de amostra na Internet, o primeiro parâmetro é um ponteiro para pthread_t
, não pthread
. Tente isso:
pthread_t tid;