Oracle® Solaris Studio 12.4:分发自述文件

退出打印视图

更新时间: 2015 年 1 月
 
 

4. 链接时可执行文件

以下可执行文件可以随客户链接到程序的对象文件和库进行再分发:

  • SPARC 平台上适用于 Solaris 的 postopt

postopt 是一个链接时优化器,它使用分析信息 (-xprofile=use) 来优化 .o 文件,并将库归档到二进制可执行文件或共享(动态)库中。

仅当满足以下所有条件时,才需要随产品一起提供 postopt 可执行文件:

  • 您提供要由客户链接到程序中的库和 .o 文件;

  • 您的客户将不安装 Oracle Solaris Studio;

  • 您通常会提供一个脚本或 makefile,该脚本或 makefile 直接使用 ld(而不是使用 cc| CC|f90)进行链接;

  • 当启用 postopt 的链接时优化时,您希望您的客户可以看到运行时性能改进;

  • 您已经使用 —xlinkopt 选项编译了所有或部分库和 .o 文件;

  • 您没有使用 —xF 选项进行编译,该选项会导致代码分散到多个段中。

在客户站点执行链接的 ISV 通常会提供一个使用 Solaris ld 的脚本或 makefile,如下所示:

% /usr/ccs/bin/ld /isv_install_area/crti.o ...
<linker_options_.o_files_and_libraries> ... /isv_install_area/crtn.o

使用 postopt 时,用户只需修改该命令以使用 postopt 替换 ld 即可,如下所示:

% /isv_install_area/postopt /isv_install_area/crti.o ...
<linker_options_.o_files_and_libraries> ... /isv_install_area/crtn.o

postopt 会在其优化完成后自动调用 Solaris ld 以创建最终二进制可执行文件或共享库。