leobegin2016
2017-05-21 09:00
采纳率: 100%
浏览 1.8k

linux下 c/c++多线程简单程序编译不过

1 #include
2 #include
3 #include
4 #include
5
6
7 void *thr_fn1(void *arg)
8 {
9 printf("thread 1 returning\n");
10 return((void *)1);
11 }
12
13 void *thr_fn2(void *arg)
14 {
15 printf("thread 2 exiting\n");
16 return((void *)2);
17 }
18
19 int main(void)
20 {
21 pthread_t tid1,tid2;
22 void *tret;
23 pthread_creat(&tid1,NULL,thr_fn1,NULL);
24 pthread_creat(&tid2,NULL,thr_fn2,NULL);
25 pthread_join(tid1,&tret);
26 printf("thread 1 exit code %d\n",(int)tret);
27 pthread_join(tid2,&tret);
28 printf("thread 2 exit code %d\n",(int)tret);
29 exit(0);
30 }

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • oyljerry 2017-05-21 09:01
    已采纳

    编译的时候要连接lpthread线程库

    点赞 打赏 评论
  • blownewbee 2017-05-21 09:13

    行号是什么玩意,头文件也没有,报什么错误也不贴,怎么帮你看。

    点赞 打赏 评论
  • jklinux 2017-05-21 09:50

    没显示行号,是因为楼主没选择插入代码的方式贴出来。 估计oyljerry说对了

    gcc test.c -lpthread就好了

    点赞 打赏 评论
  • askunix_hjh 2019-01-22 17:30

    gcc test.c -o test -lpthread

    点赞 打赏 评论

相关推荐 更多相似问题