下面的代码
#include <threads.h>
给我这个错误:
fatal error: threads.h: No such file or directory
使用最新的 GCC 和 Clang 以及 -std=c11。
GCC 和 Clang 不支持 C11 线程吗?或者是否有黑客(或需要安装的东西)来获取它?我只是将 Ubuntu 14.04 与 Ubuntu 存储库中的 gcc 和 clang 软件包一起使用。
The gcc
文档C11状态 http://gcc.gnu.org/wiki/C11Status表明它不支持线程,它说:
线程[可选]|库问题(未实现)
正如文件所示,这并不是真正的gcc
or clang
问题但是glibc
问题。正如扎克指出的那样,它看起来像可能很快就会有工作进行 https://sourceware.org/ml/libc-alpha/2014-03/msg00451.html以获得对此的支持glibc
但现在这对你没有帮助。
您可以使用this https://github.com/jtsiomb/c11threads/blob/master/c11threads.h同时。
已修复 glibc 2.28
根据Bug 14092 - 支持 C11 线程 https://sourceware.org/bugzilla/show_bug.cgi?id=14092#c10这在 glibc 2.28 中已修复:
上游实施者:
9d0a979 添加threads.h 的手动文档
0a07288 nptl:添加 ISO C11 线程的测试用例
c6dd669 nptl:为 C11 线程添加 abilist 符号
78d4013 nptl:添加 C11 线程 tss_* 函数
918311a nptl:添加 C11 线程 cnd_* 函数
3c20a67 nptl:添加 C11 线程 call_once 函数
18d59c1 nptl:添加 C11 线程 mtx_* 函数
ce7528f nptl:添加 C11 线程 thrd_* 函数
它将包含在 2.28 中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)