Есть следующий сорец(чуть урезан), но что-то с ним нето при компиляции, а скорее линковке. Помогите плс. В .h вроде все есть Вот что выдает компилер: [root@localhost threads]# gcc -o threads threads.c /tmp/ccdZlxH7.o: In function `main': /tmp/ccdZlxH7.o(.text+0x14c): undefined reference to `pthread_create' /tmp/ccdZlxH7.o(.text+0x17b): undefined reference to `pthread_create' /tmp/ccdZlxH7.o(.text+0x1a5): undefined reference to `pthread_join' /tmp/ccdZlxH7.o(.text+0x1b8): undefined reference to `pthread_join' collect2: ld returned 1 exit status /* gcc -o threads threads.c */ #include <pthread.h> #include <unistd.h> #include <stdio.h> #include <signal.h> int nsec=0,n5sec=0; pthread_t main_tid; void mysignal(int signum) { if( pthread_self() == main_tid )return; printf("thread id: %d is exit",pthread_self()); pthread_exit(NULL); } void* thread1( void* ptr ) { while(1) { printf("Counter: %d\n",nsec++); printf("Thread id: %d\n",pthread_self()); sleep(1); } } int main() { pthread_t tid[2]; void *rc; printf("Threads started...\n"); main_tid=pthread_self(); printf("Main threadID: %d",main_tid); signal(SIGINT,mysignal); if( pthread_create( &tid[0], NULL, &thread1, NULL ) == -1 ) printf("\nError pthread_create\n"); if( pthread_create( &tid[1], NULL, &thread2, NULL ) == -1 ) printf("\nError pthread_create\n"); pthread_join(&tid[0], &rc); pthread_join(&tid[1], &rc); printf("nsec=%d\nn5sec=%d",(nsec-1), (n5sec-1)); printf("Threads end."); return 0; }
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум pthread_create и прочий бред. (2004)
- Форум c\c++ pthread & argc (2008)
- Форум Posix Threads (2005)
- Форум Завершение потока: остается занятая память. (2009)
- Форум pthread_create виснет в дочернем процессе. Помогите! (2002)
- Форум Gcc (2010)
- Форум pthread (2008)
- Форум posix thread [C] (2006)
- Форум Потоки. Не отрабатывается функция потока. С#. (2013)
- Форум Странное поведение thread (2003)