ld 命令的有效使用

链接器(作为编译的最后阶段或直接由 ld 命令调用)具有典型 UNIX 链接器中没有的功能。

如果未利用操作系统绑定程序的更多能力,此情况可能会导致较长的链接时间。 本节描述了更有效地使用绑定程序的一些技巧。

示例

以下是例举有效使用 ld 命令的一个示例:

  1. 要预绑定一个库,请在压缩文档文件中使用以下命令:
    # ld -r libfoo.a -o libfooa.o
  2. FORTRAN 程序 something.f 的编译和绑定如下所示:
    # xlf something.f libfooa.o

    请注意:预绑定库当作另一个普通的输入文件,不具有常用库识别语法(-lfoo)。

  3. 要在修复错误后重新编译模块和重新绑定可执行的程序,请使用以下语句:
    # xlf something.f a.out
  4. 然而,如果错误修复已经导致对库中不同子例程的调用,那么绑定会失败。 下列 Korn 外壳程序脚本测试故障返回码并加以恢复。
    # !/usr/bin/ksh
    # Shell script for source file replacement bind
    #
    xlf something.f a.out
    rc=$?
    if [ "$rc" != 0 ]
    then
    echo "New function added ... using libfooa.o"
    xlf something.o libfooa.o
    fi