Visual Studio で前処理した後に C/C++ ソース ファイルを表示するにはどうすればよいですか?

cl.exe Microsoft Visual C++ へのコマンド ライン インターフェースである には、前処理されたファイルを出力するための 3 つの異なるオプションがあります (したがって、Visual C++ に関する以前の回答との矛盾があります)。

  • /E :stdout への前処理 (GCC の -E オプションと同様)
  • /P :ファイルへの前処理
  • /EP :#line ディレクティブなしで stdout への前処理

#line ディレクティブなしでファイルに前処理する場合は、/P を結合します および /EP オプション。


ほとんどのコンパイラには、プリプロセッサのみを実行するオプションがあります。 、gcc が提供する -E:

   -E  Stop after the preprocessing stage; do not run the compiler proper.  
       The output is in the form of preprocessed source code, which is sent
       to the standard output.

だからあなたはただ実行することができます:

gcc -E foo.c

そのようなオプションが見つからない場合は、マシンで C プリプロセッサを見つけることもできます。これは通常 cpp と呼ばれ、おそらく既にパスに含まれています。次のように呼び出します:

cpp foo.c

他のディレクトリからインクルードする必要があるヘッダーがある場合は、通常のコンパイルと同様に、これらのいずれかに -I/path/to/include/dir を渡すことができます。

Windows については、私は専門家ではないので、回答は他の投稿者に任せます。


ソリューション エクスプローラーでファイルを右クリックし、[プロパティ] に移動します。 [構成プロパティ]-> [C/C++]-> [プリプロセッサ] の下で、「プリプロセス済みファイルの生成」が探しているものです。次に、ソリューション エクスプローラーでファイルを右クリックし、[コンパイル] を選択します。前処理されたファイルは、出力ディレクトリ (Release、Debug など) に拡張子 .i で作成されます (Steed のコメントに感謝します)。