Sun Studio 12 Update 1:C++ 用户指南

A.2.133 -xipo_archive=[a]

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

a 是以下项之一:

表 A–35 -xipo_archive 标志

值 

含义  

writeback

在生成可执行文件之前,编译器将传递给链接程序的目标文件与归档库 (.a) 中已使用 -xipo 编译的目标文件一起优化。库中包含的在编译期间优化的任何目标文件都会替换为优化后的版本。

对于使用归档库通用集的并行链接,每个链接都应创建自己的归档库备份,从而在链接前进行优化。 

readonly

在生成可执行文件之前,编译器将传递给链接程序的目标文件与归档库 (.a) 中已使用 -xipo 编译的目标文件一起优化。

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

要对归档库内的代码应用跨模块优化,要求 -xipo_archive=writeback。注意,这样做将修改从中提取代码的归档库的内容。

none

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

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

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