ヘッダが含まれていない変数__PTRDIFF_TYPE__
を使用することは合法です。__PTRDIFF_TYPE__のデフォルト値
ISO/IEC 9899
でこの変数名を検索しようとしましたが、表示されません。私は第7回のCライブラリの定義を見たいと思っていました。
なぜ合法ですか?
Linux/GNUでgccを使用しています。
ヘッダが含まれていない変数__PTRDIFF_TYPE__
を使用することは合法です。__PTRDIFF_TYPE__のデフォルト値
ISO/IEC 9899
でこの変数名を検索しようとしましたが、表示されません。私は第7回のCライブラリの定義を見たいと思っていました。
なぜ合法ですか?
Linux/GNUでgccを使用しています。
これはgcc(GNU C拡張)の定義済みマクロです。 https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.htmlを参照してください。
理由:標準では、実装で使用する2つのアンダースコア(アンダースコアとすべての名前の後に大文字で始まるすべての名前)が予約されています。したがって、gccは__whatever
を事前定義し、 。
あなたはどのコンパイラについて話していますか? – Cornstalks
ああ、私はシステム - linux/gnu、gccを言及するのを忘れた。 – alinsoar
gcc(およびclang)の定義済みマクロを表示するには、次のコマンドを使用します。['gcc -dM -E- Cornstalks