首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有找到clang c11线程。

没有找到clang c11线程。
EN

Stack Overflow用户
提问于 2013-04-26 19:50:17
回答 5查看 8.6K关注 0票数 10

我试图在xcode中设置一个c11线程示例.但是,它似乎没有线程.h头,尽管它没有对这里描述的宏进行修改:

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf

__STDC_NO_THREADS__The整数常量1,用于指示实现不支持标头。

EN

回答 5

Stack Overflow用户

发布于 2013-04-26 21:28:38

看起来几乎没有任何东西支持C11中的线程特性..。也许我会试着把它弄得嘎吱作响..。

票数 3
EN

Stack Overflow用户

发布于 2013-04-26 21:34:00

在我的机器上使用clang (ubuntu/linux上的版本3.2 ),没有定义特性测试宏。对该特性的支持将需要C库中的支持,而编译器通常不支持这种支持。所以,对于clang的答案基本上和gcc没有太大的不同,他们通常建立在同一个C库上,即glibc,参见here for answer for gcc

票数 1
EN

Stack Overflow用户

发布于 2021-12-16 17:18:15

万一有人在2021+上查到这一点,苹果仍然不支持,很可能永远也不会支持。正如其他人所言,pthreads是目前为止最好的选择。请注意,广泛而言,不支持C11线程。我甚至可以说,在大多数情况下,pthreads更具有可移植性。

从开发的角度来看,C11线程太有限了,混淆了用户空间与内核空间实现特性以及实现属性。

如果您真的需要C11线程,我建议您做三件事中的一件。

  1. 别。
  2. 使用跨平台库:https://github.com/tinycthread/tinycthread似乎做得很好。
  3. 写你自己的填充。我刚才提到的库试图支持一堆平台(尽管它现在是不活动的),但是任何有过一些p线程和win32线程经验的人都不会有困难(但可能会让人头疼)编写一个多线程。实际上,前几天我是出于兴趣才这么做的,只花了几百行,也不算太糟。对于任何将经常使用它的项目,这将给予更多的使用控制权。

值得注意的是,OSX上还支持其他一些C11特性,比如C11 Atomics,如果没有大量的C11知识,这是不可能互补的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16244153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档