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

A.2.125 -xF[=v[,v...]]

启用通过链接程序对函数和变量进行最佳重新排列。

该选项指示编译器将函数和/或数据变量放置到单独的分段中,这使链接程序(使用链接程序的 -M 选项指定的映射文件中的指示)将这些段重新排序以优化程序性能。通常,该优化仅在缺页时间构成程序运行时间的一大部分时才有效。

对变量重新排序有助于解决对运行时性能产生负面影响的以下问题:

为优化性能而对变量和函数进行重新排序时,需要执行以下操作:

  1. 使用 -xF 进行编译和链接。

  2. 按照《程序性能分析工具》手册中有关如何生成用于函数的映射文件的说明进行操作,或按照《链接程序和库指南》中有关如何生成用于数据的映射文件的说明进行操作。

  3. 使用通过链接程序的 -M 选项生成的新映射文件重新链接。

  4. 在分析器下重新执行以验证是否增强。

A.2.125.1 值

v 可以是下列其中一个或多个值:

表 A–32 -xF

值  

含义  

[no%]func

[不] 将函数分段到单独的段中。 

[no%]gbldata

[不] 将全局数据(具有外部链接的变量)分段到单独的段中。 

[no%]lcldata

[不] 将局部数据(具有内部链接的变量)分段到单独的段中。 

%all

分段函数、全局数据和局部数据。 

%none

不分段。 

缺省值

如果未指定 -xF,则缺省值为 -xF=%none。如果指定了没有任何参数的 -xF,则缺省值为 -xF=%none,func

交互

使用 -xF=lcldata 会限制某些地址计算优化,因此,只应在必要时才使用该标志。

另请参见

analyzer(1)、debugger(1) 和 ld(1) 手册页