2016-07-19 13 views
0

__sync_add_and_fetchのヘッダはどこにありますか?
ヘッダーなしでどのようにコードをコンパイルできるか教えてください。どこで__sync_add_and_fetchのヘッダを見つけることができますか

+0

なぜあなたはそれが必要だと思いますか? CとC++の両方に標準の選択肢があります(しかし、数十年前に分岐した2つの言語なので、実際に使用している言語に依存しています) – MSalters

答えて

4

コンパイラがこの関数を知っており、ヘッダファイルを持っていない(持っている)ことを意味する組み込み関数です。打ち鳴らすには

、それはここ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

他のコンパイラは、 "組み込み関数" を宣言するには、いくつかの類似した概念を持っています。

もちろん、すべてのコンパイラが原子組み込み関数をサポートしているわけではないので、 "__sync_add_and_fetchは関数ではありません"というエラーが表示された場合は、コンパイラにその関数がないためです。そのコンパイラは、それがどのコンパイラであるかによって、単に存在しないかもしれません。

+0

お返事ありがとうございます –

関連する問題