Sun Studio 12:C++ 用户指南

A.2.130 -xipo_archive=[a]

-xipo_archive 选项使编译器可在生成可执行文件之前用通过 -xipo 编译的目标文件以及归档库 (.a) 中的目标文件来优化传递给链接程序的目标文件。库中包含的在编译期间优化的任何目标文件都会替换为其优化后的版本。

a 是以下项之一:

表 A–36 -xipo_archive 标志

值 

含义 

writeback

编译器在生成可执行文件前用通过 -xipo 优化并驻留在归档库 (.a) 中的目标文件来优化传递给链接程序的目标文件。库中包含的在编译期间优化的任何目标文件都会替换为优化后的版本。

对于使用归档库的公用集的并行链接,每个链接都应创建自己的归档库副本,以便在链接前优化。 

readonly

编译器在生成可执行文件前用通过 -xipo 优化并驻留在归档库 (.a) 中的目标文件来优化传递给链接程序的目标文件。

通过 -xipo_archive=readonly 选项,可在链接时指定的归档库中进行对象文件的跨模块内联和程序间数据流分析。但是,它不会启用归档库代码的跨模块优化,除非该代码已通过跨模块内联插入到其他模块中。

要对归档库内的代码应用跨模块优化,要求 -xipo_archive=writeback。请注意,执行此操作会修改从中提取代码的归档库的内容。

none

这是缺省设置。没有对归档文件的处理。编译器不对使用 -xipo 编译和在链接时从归档库中提取的对象文件应用跨模块内联或其他跨模块优化。要执行此操作,链接时必须指定 -xipo,以及 -xipo_archive=readonly-xipo_archive=writeback 中的任一个。

如果不为 -xipo_archive 指定设置,编译器会将其设置为 -xipo_archive=none

指定不带标志的 -xipo_archive 是非法的。