免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2558 | 回复: 8
打印 上一主题 下一主题

[Linux] Linux线程编程问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-26 14:42 |只看该作者 |倒序浏览
linux C程序设计大全460页(吴岳的),线程编程的程序编译不了,有没有遇到的?看这是库问题吗

论坛徽章:
0
2 [报告]
发表于 2015-05-26 15:24 |只看该作者
本帖最后由 饮食龙 于 2015-05-26 15:25 编辑

问题解决了,gcc下可以编译了,但是在eclipse下还不行

这个是原书上的,用着不行

这个是在网上看到的

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
3 [报告]
发表于 2015-05-26 19:48 |只看该作者
回复 2# 饮食龙


    正确的选项是 -pthread,而不是 -lpthread

论坛徽章:
0
4 [报告]
发表于 2015-05-26 21:04 |只看该作者
回复 3# MMMIX
试了还真行,这直接-pthread 是什么原理

   

论坛徽章:
26
CU大牛徽章
日期:2013-03-13 15:15:08水瓶座
日期:2014-08-31 19:44:01卯兔
日期:2014-09-05 08:48:33摩羯座
日期:2014-09-07 13:03:35子鼠
日期:2014-09-10 08:42:36白羊座
日期:2014-09-20 12:39:07丑牛
日期:2014-09-24 07:35:252015年亚洲杯之阿联酋
日期:2015-02-03 17:42:542015年亚洲杯之卡塔尔
日期:2015-02-11 13:13:022015年亚洲杯之约旦
日期:2015-03-03 15:10:522015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之卡塔尔
日期:2015-03-27 14:08:09
5 [报告]
发表于 2015-05-27 12:40 |只看该作者
看man手册,  手册中会给出编译 链接方法, 你man pthread_create 就会看到 Compile and Link with -pthread.
-pthread 和-lpthread的区别. 你 可以看看gcc在预处理时都做了什么.
gcc -pthread -dM source.c > diff1.txt  
gcc -lpthread -dM source.c > diff2.txt
然后对比下两个文件的差别
diff diff1.txt diff2.txt
我的输出是是两个文件差别是有个关于线程安全的宏定义不同, -pthread 的宏是
#define _REENTRANT 1  
后者是
#define __USE_REENTRANT 1


论坛徽章:
0
6 [报告]
发表于 2015-05-27 18:18 |只看该作者
回复 5# Third-Edition


    高手啊,多谢

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2015-05-31 17:32 |只看该作者
回复 1# 饮食龙


    另外你可以试试
  1. gcc thread.c -lpthread -o thread
复制代码
使用4.8还是多少(比较新的)版本的GCC要求-lxxx放在后边,否则会提示找不到,早些的gcc是支持书上的写法的,不过,pthread还是建议按man中的来操作,即-pthread用于编译及连接,其做的事情就是定义了可重入宏定义_REENTRANT并连接(-lpthread)

论坛徽章:
0
8 [报告]
发表于 2015-05-31 20:51 |只看该作者
回复 7# 羽剑天涯


    噢噢,多谢啊

论坛徽章:
0
9 [报告]
发表于 2015-07-02 21:26 |只看该作者
本帖最后由 BsiIce 于 2015-07-02 21:26 编辑

被依赖的库(-pthread)的链接选项要放到使用者(thread.c)的后边。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP