我正在尝试__atomic_load_n
从gcc
atomic builtins页面使用,编译
gcc -Wall -march=i686 -std=gnu99 ll.c -o ll
但它告诉我它不能
警告:函数'__atomic_load_n'的隐式声明</p>
gcc
我认为提供arch
和标志就足够了march
(并通过设置std=gnu99
标志来确保),但无济于事。事实上,即使我测试通用__GCC_VERSION__
或__GNUC__
宏似乎没有价值......但我有一个非常普通gcc
的安装,它来自 Ubuntu。
我知道我在做一些愚蠢的事情,但我不知道是什么。我有 gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
代码如下所示:它是一个从未被调用的函数(还),所以问题出在编译时。
type* func(type* p) {
type* q = __atomic_load_n (p, __ATOMIC_SEQ_CST);
}