以下可执行文件可以随客户链接到程序的对象文件和库进行再分发:
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 以创建最终二进制可执行文件或共享库。