Loose-Info.com
Last Update 2021/12/14
TOP - 各種テスト - gcc - -C オプション

-C
前処理の際にコメントを破棄しない

テスト概要

-Cオプション無し、および-Cオプションを使用した場合の-Eオプションによる出力例

実行環境

GCC-8.2.0
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; } $ プリプロセッサ指令と同じ行以外のコメントは破棄されない