很多关于 C11 和 C11 线程的问题,但我没有在任何地方看到明确的答案:
任何 C 库是否实现了可在类似 GNU/Linux 上使用的 C11 线程接口(interface)?例如,提供“可选”<threads.h>
和 thread support library喜欢thrd_create()
, 来自 the C11 standard近页376.
理想情况下,我想找到一个通用的、开源的或免费的库,用于通用/通用/多架构(例如,GNU/Linux、x86_64 或可移植的架构)。
一些更有帮助和相关的 SO 链接:
- this one和 this one在
glibc
; - this one这是在谈论标准;
- this one关于
clang
; - this one一般关于 C11 和 this one关于 Windows 和其他平台;
- 关于 C++11 线程的更多信息,但我只对 C11 感兴趣。
图书馆的一些非入门选项:
-
glibc
图书馆 does not ;有一个open bug自 2012 年以来;有GSoC proposal但似乎not accepted ; - LLVM/Clang项目没有 C 库;
- <罢工> musl图书馆 does not ; -- 现在可以了!请参阅下面的编辑和 answer .
- Newlib库支持线程( docs ),但不使用
pthread
也不是 C11 线程; - uClibc没有;
- this comparison图表,这是可疑的(例如,我在 musl 源中看不到 C11 线程本地存储支持的证据);
- 一些关于BSD的各种帖子,
- Pelles ,它显示为关闭且仅限 Windows。
我不对 POSIX 线程(许多不错的选项)、Windows、IDE 或 C++11(我知道 GNU libstdc++
和 LLVM)感兴趣/Clang libc++
提供 C++11 的 std::thread
,它使用 -pthread
)
谢谢!
(重新)编辑:问题重新打开,所以 migrated content to answer清理。
最佳答案
musl现在(截至 2014 年 9 月左右)实现 C11 线程!
根据 this recent musl mailing list post和关于 that list in Jul-Sep 2014 的其他对话, 看来 musl现在库(截至 2014-09-07)实现了 C11 线程接口(interface),虽然 the comparison chart ;在撰写本文时并未反射(reflect)这一点。
由于这个问题被重新打开,所以我把这个内容移到了正确的答案上。
关于c - 是否有任何 C 库为 GNU/Linux 实现 C11 线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24557728/