我想利用C11标准提供的新的原子操作。但是,尝试#include适当的头文件会得到以下结果:
csort-par.c:5:23: fatal error: stdatomic.h: No such file or directory
#include <stdatomic.h>http://gcc.gnu.org/wiki/C11Status上的文档似乎说,头文件是从GCC 4.7开始提供的……我是不是漏掉了什么?__STDC_NO_ATOMICS__没有定义。
gcc --version格式如下:
gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.我确认了__STDC_NO_ATOMICS__的定义不是这样的:
#ifdef __STDC_NO_ATOMICS__
#error yes
#else
#error no
#endif收益率:
csort-par.c:10:2: error: #error no
#error no编辑:感谢您的快速回复。
如果有人在谷歌上偶然发现了同样的问题,在他们发布GCC 4.9之前,这里有一个解决方案:
发布于 2013-12-02 19:13:33
此文件丢失。http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016
正如其发行说明(http://gcc.gnu.org/gcc-4.9/changes.html)所说,它只在gcc 4.9中得到了修复。
https://stackoverflow.com/questions/20326604
复制相似问题