当前位置: 技术问答>linux和unix
请教关于pthread的程序 编译通不过,谢谢
来源: 互联网 发布时间:2015-12-21
本文导语: 编译信息如下: [root@andy process]# gcc thrdcancel.c -o thrdcancel /tmp/ccMKonTr.o(.text+0x21): In function `main': : undefined reference to `pthread_create' /tmp/ccMKonTr.o(.text+0x5c): In function `main': : undefined reference to `pthread_create' /tmp/ccMK...
编译信息如下:
[root@andy process]# gcc thrdcancel.c -o thrdcancel
/tmp/ccMKonTr.o(.text+0x21): In function `main':
: undefined reference to `pthread_create'
/tmp/ccMKonTr.o(.text+0x5c): In function `main':
: undefined reference to `pthread_create'
/tmp/ccMKonTr.o(.text+0x8f): In function `main':
: undefined reference to `pthread_join'
/tmp/ccMKonTr.o(.text+0x9d): In function `main':
: undefined reference to `pthread_cancel'
/tmp/ccMKonTr.o(.text+0xad): In function `main':
: undefined reference to `pthread_join'
collect2: ld returned 1 exit status
————————————————————————————————————
源程序代码如下:
/*
* thrdcreat.c - Illustrate creating a thread
*/
#include
#include
#include
void task1(int * counter);
void task2(int * counter);
void cleanup(int counter1, int counter2);
int g1 = 0;
int g2 = 0;
int main(void)
{
pthread_t thrd1, thrd2;
int ret;
/*create the first thread*/
ret = pthread_create(&thrd1,NULL,(void *)task1,(void *)&g1);
if(ret)
{
perror("pthread_create:task1");
exit(EXIT_FAILURE);
}
/*create the second thread*/
ret = pthread_create(&thrd2, NULL, (void *)task2, (void *)&g2);
if(ret)
{
perror("pthread_create:task2");
exit(EXIT_FAILURE);
}
pthread_join(thrd2,NULL);
pthread_join(thrd1,NULL);
cleanup(g1,g2);
exit(EXIT_SUCCESS);
}
void task1(int *counter)
{
while(*counter
[root@andy process]# gcc thrdcancel.c -o thrdcancel
/tmp/ccMKonTr.o(.text+0x21): In function `main':
: undefined reference to `pthread_create'
/tmp/ccMKonTr.o(.text+0x5c): In function `main':
: undefined reference to `pthread_create'
/tmp/ccMKonTr.o(.text+0x8f): In function `main':
: undefined reference to `pthread_join'
/tmp/ccMKonTr.o(.text+0x9d): In function `main':
: undefined reference to `pthread_cancel'
/tmp/ccMKonTr.o(.text+0xad): In function `main':
: undefined reference to `pthread_join'
collect2: ld returned 1 exit status
————————————————————————————————————
源程序代码如下:
/*
* thrdcreat.c - Illustrate creating a thread
*/
#include
#include
#include
void task1(int * counter);
void task2(int * counter);
void cleanup(int counter1, int counter2);
int g1 = 0;
int g2 = 0;
int main(void)
{
pthread_t thrd1, thrd2;
int ret;
/*create the first thread*/
ret = pthread_create(&thrd1,NULL,(void *)task1,(void *)&g1);
if(ret)
{
perror("pthread_create:task1");
exit(EXIT_FAILURE);
}
/*create the second thread*/
ret = pthread_create(&thrd2, NULL, (void *)task2, (void *)&g2);
if(ret)
{
perror("pthread_create:task2");
exit(EXIT_FAILURE);
}
pthread_join(thrd2,NULL);
pthread_join(thrd1,NULL);
cleanup(g1,g2);
exit(EXIT_SUCCESS);
}
void task1(int *counter)
{
while(*counter
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!