CPP64 - 64 ビット Windows 版プリプロセッサ
CPP64.EXE は、それに対応する 32 ビット Windows 版の CPP32.EXE とは関連がなく、CPP64 では、CPP32 でサポートされているコマンド ライン オプションをサポートしていません。 ただし、CCPP64 では、CPP32 でサポートされているのと同じプリプロセッサ指令をサポートしています。
CPP64.EXE を実行することは、BCC64.EXE を -E
オプション("プリプロセッサのみ実行")で実行することと同じです。CPP64.EXE は、C または C++ プログラムのリスト ファイルを生成します。このファイルでは、すべての #include
ファイルや #define
マクロが展開されています。 通常のコンパイル時にはこのプリプロセッサを使用する必要はありませんが、リスト ファイルはデバッグに役立つ場合があります。
多くの場合、マクロやインクルード ファイル内のエラーがコンパイラから報告されたときは、インクルード ファイルやマクロ展開結果を参照できれば、エラーの詳細を把握できます。 多くのマルチパス コンパイラでは、プリプロセス段階の結果が保存され、それを調べることができます。 BCC32 も BCC64 もシングルパス コンパイラであるため、プリプロセス出力を取得する場合は、CPP64 を使用する必要があります。
出力ファイル
CPP64 で処理されるファイルごとに、ソースと同じ名前で拡張子が .i
のファイルが現在のディレクトリに作成され、そこに出力が書き込まれます。
MyApp.i
この出力ファイルは、ソース ファイルとそこで使用されているインクルード ファイルが 1 行ずつ記載されたテキスト ファイルです。 プリプロセッサ指令の行や、コンパイルから除外された条件付きテキスト行は、ここではすべて削除されています。 テキスト行内のマクロはすべて、展開後のテキストで置き換えられています。
コマンドライン構文
CPP64 <filename[s]>
<filename>
では、処理するファイルを定義します。複数のファイルを指定できます。 ファイルを少なくとも 1 つ指定する必要があります。
例:
以下のファイルがあるとしましょう。
pch.h
:
#include <P:\Test CPP64\File2.h>
#include <P:\Test CPP64\File1.h>
File1.h
int File1Func1(double, double);
double File1Func2(int, int);
File2.h
void File2Func1(int x, int y);
void File2Func2(int, double);
実行したコマンドは以下のとおりです。
出力ファイル pch.i
は以下のようになります。
#line 1 "pch.h"
#line 1 "pch.h"
#line 1 "<built-in>"
#line 1 "<built-in>"
#line 147 "<built-in>"
#line 1 "<command line>"
#line 1 "<built-in>"
#line 1 "pch.h"
#line 1 "P:\\Test CPP64\\File1.h"
int File1Func1(double, double);
double File1Func2(int, int);
#line 1 "pch.h"
#line 1 "P:\\Test CPP64\\File2.h"
void File2Func1(int x, int y);
void File2Func2(int, double);
#line 2 "pch.h"