Utilisation efficace de la commande ld
Le binder (invoqué à la fin d'une compilation ou directement par la commande ld) a des fonctions qui ne se trouvent pas dans l'éditeur de liens typique UNIX.
Cette situation peut se traduire par des temps de liaison plus longs si la puissance supplémentaire du lieur du système d'exploitation n'est pas exploitée. Cette section décrit certaines techniques permettant une utilisation plus efficace du lieur.
Exemples
Voici un exemple illustrant l'utilisation efficace de la commande ld :
- Pour prélier une bibliothèque, utilisez la commande suivante dans le fichier archive :
# ld -r libfoo.a -o libfooa.o - La compilation et la liaison du programme FORTRAN something.f sont les suivantes :
# xlf something.f libfooa.oNotez que la bibliothèque préliée est traitée comme un fichier d'entrée ordinaire, et non avec la syntaxe d'identification de bibliothèque habituelle (-lfoo).
- Pour recompiler le module et relier le programme exécutable après avoir corrigé un bogue, utilisez les éléments suivants :
# xlf something.f a.out - Cependant, si le correctif de bogue avait entraîné un appel à une sous-routine différente dans la bibliothèque, la liaison échouerait. Le script de shell Korn suivant teste tout échec du code retour et effectue une reprise :
# !/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