  | Ogni ambiente di programmazione offre, insieme
    al compilatore, anche una versione personalizzata di Linker, sebbene la sua
    attività non possa che essere sempre la
    stessa:
  
      | recupera
        gli indirizzi lasciati vuoti dal compilatore (figura a
        sinistra, marcati con E, esterni) e
        sostituisce gli 0000H dell'oggetto con il corrispondente valore (figura
        al centro, marcati con R, rilocati):
          
      
      
        0100  E8  0000 E 
        0103  E8 0000 E | 
      0100
         E8 0108 R 
        0103  E8 0103  R | 
      CALL  
        BiosCls 
        CALL  
        KeyWait | 
       
      |  
      | se l'oggetto ha riferimenti esterni ad
        altri oggetti, provvede a recuperarli
        e ad unirli in un unico programma
        eseguibile; per ogni EXTRN
        in un oggetto deve esserci un PUBLIC
        con lo stesso nome in un altro oggetto. |  
      | L'universalità del linker si può capire proprio da questa sua capacità: si possono compilare i componenti Obj in ambienti diversi, per esempio in
         Assembly e in Pascal, lasciando poi al
         linker il compito di integrarli tra di loro. 
     |  
      | 
         predispone
        all'inizio del file EXE una intestazione
        (header) contenente le informazioni necessarie al Dos per caricarlo
        (rilocarlo) in memoria
    nel punto desiderato. La  rilocabilità del programma
         EXE è da ritenersi a
        livello segmento: spetta al Dos stabilire, nel preciso
        momento del caricamento in Ram, quale sarà la prima area libera,
        adattando ad essa tutti gli  indirizzi di segmento dell'eseguibile.  |  
   
   |