Sun Studio 12:C 用户指南

B.2.88 -xF[=v[, v...]]

由链接程序对函数和变量进行最优的重新排序。

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

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

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

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

  2. 按照《程序性能分析工具》手册中关于如何生成函数的映射文件(或“链接程序和库向导”中关于如何生成数据的映射文件)的说明进行操作。

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

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

B.2.88.1 值

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

表 B–23 -xF

值 

含义 

[no%]func

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

[no%]gbldata

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

[no%]lcldata

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

%all

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

%none

不分段。 

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

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

请参见 analyzer(1)、debugger(1) 和 ld(1) 手册页。