Uso eficiente del mandato ld

El enlazador (invocado como etapa final de una compilación o directamente por el comando ld) tiene funciones que no se encuentran en el típico enlazador UNIX.

Esta situación puede dar lugar a tiempos de enlace más largos si no se aprovecha la potencia adicional del enlazador del sistema operativo. Esta sección describe algunas técnicas para un uso más eficiente del enlazador.

Ejemplos

A continuación se muestra un ejemplo que ilustra el uso eficiente del mandato ld:

  1. Para enlazar una biblioteca previamente, utilice el mandato siguiente en el archivo de archivado:
    # ld -r libfoo.a -o libfooa.o
  2. La compilación y el enlace del programa FORTRAN something.f es el siguiente:
    # xlf something.f libfooa.o

    Observe que la biblioteca enlazada previamente se trata como otro archivo de entrada ordinario, no con la sintaxis de identificación de biblioteca habitual (-lfoo).

  3. Para volver a compilar el módulo y volver a enlazar el programa ejecutable después de arreglar un error, utilice lo siguiente:
    # xlf something.f a.out
  4. Sin embargo, si el arreglo de error hubiera dado como resultado una llamada a una subrutina diferente en la biblioteca, el enlace fallará. El siguiente script de shell Korn prueba un código de retorno de anomalía y recupera:
    # !/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