Oracle® Solaris 11.2 链接程序和库指南

退出打印视图

更新时间: 2014 年 7 月
 
 

创建动态可执行文件

  • 要创建动态可执行文件,请勿使用 –G–d n 选项。

  • 建议使用链接编辑器的 –z guidance 选项。指导消息提供有关链接编辑器选项和其他操作的建议,以帮助改善生成的目标文件。

  • 表明应使用 –z lazyload 选项延迟装入动态可执行文件的依赖项。请参见延迟装入动态依赖项

  • 避免包含不需要的依赖项。请使用带有 –u 选项的 ldd 来检测并删除不需要的依赖项。请参见共享目标文件处理。或者,使用 –z discard-unused=dependencies 选项,此选项指示链接编辑器将依赖项仅记录到所引用的目标文件中。

  • 如果动态可执行文件的依赖项不位于缺省的搜索位置,请使用 –R 选项将其路径名记录在输出文件中。请参见运行时链接程序搜索的目录

  • 使用 –B direct 建立直接绑定信息。请参见Chapter 6, 直接绑定

以下示例结合了以上几点。

$ cc -o prog -R /home/lib -z discard-unused=dependencies -z lazyload -B direct -L. \
    -lfoo file1.o file2.o file3.o ....