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:
- Para enlazar una biblioteca previamente, utilice el mandato siguiente en el archivo de archivado:
# ld -r libfoo.a -o libfooa.o - La compilación y el enlace del programa FORTRAN something.f es el siguiente:
# xlf something.f libfooa.oObserve que la biblioteca enlazada previamente se trata como otro archivo de entrada ordinario, no con la sintaxis de identificación de biblioteca habitual (-lfoo).
- 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 - 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