我想利用 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:
最佳答案
此文件丢失。 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016
它仅在 gcc 4.9 中得到修复,如其发行说明所述 (http://gcc.gnu.org/gcc-4.9/changes.html)
关于c - <stdatomic.h> 在 GCC 4.8 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20326604/