Visual Studio 2017 を使用することをお勧めします

/P (プリプロセス出力のファイルへの書き込み)

 

公開日: 2016年7月

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

C と C++ のソース ファイルに対してプリプロセスが実行され、プリプロセス出力がファイルに書き込まれます。

ファイル名は、ソース ファイルの基本名に拡張子 .i が付加されます。 プロセスでは、すべてのプリプロセッサ ディレクティブが実行され、マクロ拡張が実行されて、コメントが削除されます。 プリプロセスの出力のコメントを保持するには、/P オプションに加えて、/C (プリプロセス時のコメントの保持) オプションも使用します。

/P オプションを使用すると、出力される各インクルード ファイルの先頭と末尾に #line ディレクティブが挿入されます。また、条件付きコンパイルを指定するプリプロセッサ ディレクティブがある場合は、そのディレクティブで削除される行の前後にも挿入されます。 これらのディレクティブがあると、プリプロセス済みファイルの行番号が付け直されます。 その結果、処理の後半で生成されたエラーは、プリプロセス済みファイルの行番号ではなく、元のソース ファイルの行番号を参照します。 #line ディレクティブが生成されないようにするには、/P に加えて /EP (#line ディレクティブを挿入しない stdout へのプリプロセス) を使用します。

/P オプションはコンパイルを中止します。 /Fo (オブジェクト ファイルの名前の指定) を指定した場合でも .obj ファイルは生成されません。 プリプロセス済みファイルをコンパイルに再送信する必要があります。 また /P は、/FA/Fa、および /Fm の各オプションによる出力ファイルも出力しません。 詳細については、「/FA、/Fa (リスティング ファイル)」および「/Fm (マップ ファイルの名前の指定)」を参照してください。

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、「方法 : プロジェクト プロパティ ページを開く」を参照してください。

  2. [C/C++] フォルダーをクリックします。

  3. [プリプロセッサ] プロパティ ページをクリックします。

  4. [プリプロセス ファイルの生成] プロパティを変更します。

このコンパイラ オプションをコードから設定するには

次のコマンド ラインは、ADD.C をプリプロセスし、コメントを保持し、#line ディレクティブを挿入し、結果を ADD.I というファイルに書き込みます。

CL /P /C ADD.C  

コンパイラ オプション
コンパイラ オプションの設定
/Fi (出力ファイル名のプリプロセス)

表示: