我在哪里可以找到 __sync_add_and_fetch 的 header

where can i find the header of __sync_add_and_fetch

谁能告诉我在哪里可以找到 __sync_add_and_fetch 内置函数
的 header 没有 header 我们怎么能编译代码。

它是一个内置函数,意味着编译器知道这个函数,它没有(应该有)头文件。

在clang中,这里是Builtins.def的一部分: https://github.com/llvm-mirror/clang/blob/master/include/clang/Basic/Builtins.def#L524

这里是codegen: https://github.com/llvm-mirror/clang/blob/master/lib/CodeGen/CGBuiltin.cpp#L1204

其他编译器在声明时会有一些类似的概念"builtin functions"。

当然,并非所有编译器都支持原子内建函数,因此如果您看到“__sync_add_and_fetch 不是函数”的错误,可能是因为编译器没有该函数 - 它可能在该编译器中被称为其他名称,或者它可能根本不存在,具体取决于它是什么编译器。