Sun Studio 12:C++ 用户指南

A.2.117 -xcrossfile[= n]

SPARC:启用跨源文件优化和内联。-xcrossfile 在编译时执行,且仅涉及编译命令中出现的文件。请参考下列命令行示例:


example% CC -xcrossfile -xO4 -c f1.cc f2.cc
example% CC -xcrossfile -xO4 -c f3.cc f4.cc

可以在文件 f1.ccf2.cc 之间以及 f3.ccf4.cc 之间进行跨模块优化。在 f1.ccf3.ccf4.cc 之间不进行优化。

A.2.117.1 值

n 必须是下列值之一。

表 A–30 -xcrossfile

值 

含义 

0

不执行跨文件优化或跨文件内联。 

1

执行多个源文件之间的优化和内联处理。 

通常,在命令行上编译器的分析范围限于每个独立的文件。例如,传递 -xO4 选项时,只对同一源文件中定义和引用的子程序进行自动内联。

使用 -xcrossfile-xcrossfile=1 时,编译器会分析命令行上指定的所有文件,就好像这些文件已串联为一个源文件。

缺省值

如果未指定 -xcrossfile,则假定 -xcrossfile=0 且不执行跨文件优化和内联。

-xcrossfile-xcrossfile=1 相同。

交互

-xcrossfile 选项只有与 -xO4-xO5 一起使用时才有效。

警告

这种编译所产生的文件由于可能的内联而相互依赖,而且在将这些文件链接到程序时必须将其作为一个整体使用。如果更改了任何一个例程并重新编译了文件,则必须重新编译所有的文件。因此,使用该选项会影响 makefile 的结构。

另请参见

-xldscope