找回密码
 立即注册
搜索
热搜: 活动 通知
查看: 89|回复: 4

pthread.h与thread.h的区别问题

[复制链接]

20

主题

18

回帖

146

积分

至尊会员

积分
146

至尊会员

发表于 2024-5-6 13:20:54 来自手机 | 显示全部楼层 |阅读模式
pthread.h是类unix下的posix提供的线程库,我们在实现了posix标准下的操作系统都可以使用,我在书上看到说thread.h是标准库提供的线程库,那么我有点好奇的是为啥再linux下使用gcc编译器编译带thread.h的头文件尽然报错了,不知道是我代码问题还是gcc编译器中的c实现没有实现thread.h,

98

主题

152

回帖

1586

积分

管理员

积分
1586
发表于 2024-5-6 13:36:27 | 显示全部楼层
C11才实现了多线程,在此之前为了写多线程程序,gcc使用posix线程。
但也正因为gcc有phread,所以它没有实现thread.h,但最新版本我不知道。

20

主题

18

回帖

146

积分

至尊会员

积分
146

至尊会员

 楼主| 发表于 2024-5-6 14:06:37 来自手机 | 显示全部楼层
明白了,我看老师在课堂上讲课时再windows下使用Pelles C环境来开发C程序却能够使用thread.h标准库函数,这是因为(Pelles的C编译器实现)实现了c11标准了吗?所以它才可以使用thread.h!我电脑环境中的gcc版本没实现c11标准所以我不能用!是嘛!

98

主题

152

回帖

1586

积分

管理员

积分
1586
发表于 2024-5-6 15:20:48 | 显示全部楼层
linuxspring 发表于 2024-5-6 14:06
明白了,我看老师在课堂上讲课时再windows下使用Pelles C环境来开发C程序却能够使用thread.h标准库函数,这 ...

不是说它不支持C11标准,只是说它不支持C11新增的多线程特性。

多线程特性是可选的,C实现应当定义宏__STDC_NO_THREADS__以表明它不提供<threads.h>及多线程功能。

点评

明白了,谢谢李老师😋  发表于 2024-5-6 16:22
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|鼠侠网 ( 吉ICP备19001332号 )

GMT+8, 2024-5-19 14:24 , Processed in 0.222023 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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