打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于线程-lpthread问题
关于线程-lpthread问题
2011-03-16 19:45
pthread_create函数编译时报错:undefined reference to 'pthread_create'

pthread_create()和pthread_atfork()函数使用时应注意的问题:

#include <pthread.h>

void pmsg(void* p)
{
char *msg;
msg = (char*)p;
printf("%s ", msg);
}

int main(int argc, char *argv)
{
pthread_t t1, t2;
pthread_attr_t a1, a2;
char *msg1 = "Hello";
char *msg2 = "World";

pthread_attr_init(&a1);
pthread_attr_init(&a2);
pthread_create(&t1, &a1, (void*)&pmsg, (void*)msg1);
pthread_create(&t2, &a2, (void*)&pmsg, (void*)msg2);

return 0;
}

gcc thread.c
/tmp/ccFCkO8u.o: In function `main':
/tmp/ccFCkO8u.o(.text+0x6a): undefined reference to `pthread_create'
/tmp/ccFCkO8u.o(.text+0x82): undefined reference to `pthread_create'
collect2: ld returned 1 exit status

由于pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,在编译中要加 -lpthread参数。

例如:在加了头文件#include <pthread.h>之后执行 pthread.c文件,需要使用如下命令:

gcc thread.c -o thread -lpthread

这种情况类似于<math.h>的使用,需在编译时加 -m 参数。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
简单的多线程编程之获得线程参数(YC)
Linux多线程编程的基本的函数
linux下常用linux c函数--lhzw2001的笔记
Linux线程-互斥锁pthread_mutex_t
pthread_join函数及linux线程
(转)如何在android的jni线程中实现回调
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服