Les stations de travail supportent deux sortes de librairies: les librairies archives et les librairies partagées. Les librairies archives sont les plus traditionnelles des deux.
Presque toutes les librairies disponibles sur les systèmes sont archives. Dans la plupart des cas, une version partagée est aussi disponible. Le nom d'une librairie archive se termine avec un .a; le nom d'une librairie partagée se termine par .sl. Si les deux versions existent, elles sont situées en principe dans le même répertoire. Par exemple, la librairie archive libc est appelée /lib/libc.a; la version partagée est appelée /lib/libc.sl.
Si les deux versions existent dans un répertoire différent, ld utilise celle qu'il trouve en premier. Si les deux versions sont dans le même répertoire, ld utilise la version partagée. Par exemple, la compilation d'un programme C prog.c entraîne le compilateur à invoquer l'éditeur de lien avec la commande suivante:
ld /lib/crt0.o prog.o -lcCela demande à l'éditeur de lien de chercher la librairie C libc pour résoudre les références non définies de prog.o. Si une libc partagée existe ( /lib/libc.sl), ld l'utilise à la place de la librairie /lib/libc.a.
En complément des librairies fournies en standard, vous pouvez créer vos propres librairies archives et partagées. Pour créér une librairie archive, il suffit de combiner un fichier objet avec la commande ar. Pour créer une librairie partagée, il faut utiliser la commande ld.