Oracle Solaris Studio 12.2:C++ 用户指南

A.2.12.1 示例

该选项用于确定预处理程序所进行的更改。例如,以下程序 foo.cc 会生成A.2.12.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