ソースファイルに対してプリプロセッサを実行しますが、コンパイルはしません。
C++ のソースファイルに対してプリプロセッサだけを実行し、結果を stdout (標準出力) に出力するよう CC ドライバに指示します。コンパイルは行われません。 したがって .o ファイルは生成されません。
このオプションを使用すると、プリプロセッサで作成されるような行番号情報が出力に含まれます。
このオプションは、プリプロセッサの処理結果を知りたいときに便利です。たとえば、次に示すプログラムでは、foo.cc は、「A.2.13.1 例」に示す出力を生成します。
#if __cplusplus < 199711L
int power(int, int);
#else
template <> int power(int, int);
#endif
int main () {
int x;
x=power(2, 10);
}
.
|
example% CC -E foo.cc
#4 "foo.cc"
template < > int power (int, int);
int main () {
int x;
x = power (2, 10);
}
|
テンプレートを使用する場合は、このオプションの結果を C++ コンパイラの入力に使用することはできません。
-P