Last Update 2021/12/14
-C
前処理の際にコメントを破棄しない
テスト概要
-Cオプション無し、および-Cオプションを使用した場合の-Eオプションによる出力例
実行環境
GCC-8.2.0
GNU C Library 2.28
GNU Binutils 2.31.1
GNU C Library 2.28
GNU Binutils 2.31.1
コード例・出力内容中の表記
・実行例中の太字表記部分は、コマンドなどの入力された文字列を示します。
・「︙」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。
・「︙」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。
使用ファイル
sample.c
#define SAMPLE 0 /* コメント1 */
#ifdef __GNUC__
/* コメント2 */
#endif
int main(void)
{
/* コメント3 */
// コメント4
return SAMPLE;
}
動作テスト
-Cオプションを使用しない場合の-Eオプションによる出力例
$ gcc -E sample.c
# 1 "sample.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 31 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 32 "<command-line>" 2
# 1 "sample.c"
int main(void)
{
return 0;
}
$ 全てのコメントが破棄されている
-Cオプションを使用した場合の-Eオプションによる出力例
$ gcc -E -C sample.c
# 1 "sample.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 31 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "/usr/include/stdc-predef.h" 3 4
/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
︙
- 285 hentaigana
- 3 additional Zanabazar Square characters */
# 32 "<command-line>" 2
# 1 "sample.c"
# 4 "sample.c"
/* コメント2 */
int main(void)
{
/* コメント3 */
// コメント4
return 0;
}
$ プリプロセッサ指令と同じ行以外のコメントは破棄されない