Cプリプロセッサの出力を次のように出力します。
gcc -E a.c
出力には次のような行が多数含まれます
# 1 "a.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "a.c"
# 1 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 1 3
# 19 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 3
# 1 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 1 3
# 31 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 3
# 32 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/_mingw.h" 3
# 20 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.0/../../../../include/stdio.h" 2 3
C でこのような構文を見たことはありません。これが何をするのか説明してくれる人はいますか?
ベストアンサー1
これらの行はデバッグのヒントです(行に続くコードが実際にどこから来たのか)
# line-number "source-file" [flags]
フラグの意味(スペース区切り):
- 1 - 新しいファイルの開始
- 2 - 前のファイルに戻る
- 3 - 次のテキストはシステム ヘッダー ファイルから取得されます (#include <> と #include "")
- 4 - 次のテキストは、暗黙的な extern "C" ブロックで囲まれているものとして扱われる必要があります。