Lorsqu'il est appelé au cours de la phase d'édition de lien de la compilation, l'éditeur de lien ld construit un fichier a.out à partir des fichiers objets passés par le compilateur. ld tente de lier les références externes aux définitions globales. Par exemple, dans le programme C de la figure 8.2, main.o contient une référence externe à sum_n, lequel a une définition globale dans func.o. ld lie les références externes aux définitions globales, permettant au programme principal dans a.out d'accéder à sum_n.
Si ld ne peut pas lier une référence externe à une définition globale, il affiche un message sur la sortie d'erreur standard. Si, par exemple, vous compilez main.c sans func.c, ld ne peut pas lier la référence externe à sum_n et affiche la sortie suivante:
/bin/ld: Unsatisfied symbols: sum_n (code)