QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 605|回复: 4

链接问题

[复制链接]
发表于 2004-9-29 12:50:03 | 显示全部楼层 |阅读模式
#include <pthread.h>
#include <stdio.h>

void * thread_handler(void * arg)
{
    int num = 0;
    for(;num<1000;num++)
    {
        printf("num=%d", num);
    }
}

int main()
{
    if(pthread_create(NULL, 0, thread_handler,0)<0)
    {
         printf("pthread creation false\n");
         exit(0);
    }
    return 1;
}


#undefined reference to `pthread_create'

请问如何解决?
发表于 2004-9-29 13:57:14 | 显示全部楼层
先确定你机器上是否有libpthread.so这个文件。
然后编译时加上参数 -L(libpthread.so文件所在路径) -lpthread
回复

使用道具 举报

 楼主| 发表于 2004-9-29 14:56:58 | 显示全部楼层
谢谢~~
编译成功后运行时提示段错误...
为什么?
回复

使用道具 举报

发表于 2004-9-29 16:08:18 | 显示全部楼层
我不太清楚把pthread_create的第一个参数设成NULL会有什么后果。

一般的用法是
pthread_t thread_id;

pthread_create (&thread_id...

main结束时用pthread_join来等待线程结束。
回复

使用道具 举报

 楼主| 发表于 2004-9-29 17:02:55 | 显示全部楼层
kernel2.6.8.1下和kernel2.4下编程会不会有较大的变化?
最新的资料什么地方可以获得?
把pthread_create第一个参数设成NULL就没事了,但是pthread_join 是不是一定要呢?

  嘿,kakuyou斑竹 , 回答好快~~谢谢 : >
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 09:37 , Processed in 0.039139 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表