Sun Studio 12:C++ 用户指南

A.2.13 –E

对源文件运行预处理程序,但不进行编译。

指示 CC 驱动程序仅对 C++ 源文件运行预处理程序,并将结果发送到 stdout(标准输出)。此时,不进行编译,且不生成 .o 文件。

此选项会导致输出中包含预处理程序类型的行号信息。

A.2.13.1 示例

该选项用于确定预处理程序所进行的更改。例如,以下程序 foo.cc 会生成A.2.13.1 示例中所示的输出。


示例 A–1 预处理程序示例 foo.cc


#if __cplusplus < 199711L
int power(int, int);
#else
template <> int power(int, int);
#endif

int main () {
  int x;
  x=power(2, 10);
}
.


示例 A–2 使用 -E 选项时 foo.cc 的预处理程序输出


example% CC -E foo.cc
#4 "foo.cc"
template < > int power (int, int);


int main () {
int x;
x = power (2, 10);
}

警告

使用模板时,从该选项的输出不支持作为 C++ 编译器的输入。

另请参见

–P