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

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

40

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 oyljerry 2017-05-21 09:01

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

    点赞 1 评论 复制链接分享
  • jklinux jklinux 2017-05-21 09:50

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

    gcc test.c -lpthread就好了

    点赞 1 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2017-05-21 09:13

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

    点赞 评论 复制链接分享
  • m0_37925202 askunix_hjh 2019-01-22 17:30

    gcc test.c -o test -lpthread

    点赞 评论 复制链接分享