| 
      Sezione | 
      
       
   
    
      Indirizzi Base
    
    
    
      Registri Interni
    
      | 
    
| Capitolo 2 | 
| Gli strumenti di Lavoro | 
      LINKER 3/10 [39 di 87]  | 
 
  | 
| 
     | 
    
  | 
  
| Vediamo ora come si usa il Linker; esso elabora per default i files con estensione OBJ, Prova.OBJ e Prova1.OBJ, generati dall'assemblatore; digitiamo LINK prova confermando con Invio. | 
| 
     
  | 
  
| In questo modo si evita la richiesta del nome del file da linkare (Object Modules [.OBJ]) e ci viene proposto subito di creare il codice eseguibile (Run File [prova.EXE]:); confermando ancora con Invio diamo il nostro benestare. | 
| 
     
  | 
  
| Subito dopo ci viene offerta la possibilità di creare un file opzionale con estensione MAP; esso non viene generato automaticamente, in accordo con la proposta di default racchiusa tra le parentesi quadre (NUL), davanti all'estensione prevista per essi. (List File [NUL.MAP]:), per cui, confermando con Invio non ne potremo disporre. Per vedere di che si tratta digitiamo invece il nome desiderato per questo file, generalmente lo stesso del sorgente, prova. | 
| 
     
  | 
  
Per compiere con esattezza il suo lavoro il Linker ha ora la necessità di sapere dove (eventualmente) trovare gli
    oggetti dichiarati esterni dal nostro sorgente: si aspetta il nome delle
    librerie, raccolte di oggetti con estensione  LIB (default); alla domanda
    
        Libraries [.LIB]: risponderemo con
    Invio se non abbiamo nulla da collegare o, in caso
    contrario, con un nome di libreria:
 
 
  | ||||
| Se tutto va bene il Linker risponderà con una segnalazione d'errore warning (LINK : warning L4021: no stack segment), del tutto logica e che discuteremo tra qualche pagina. | 
| 
     
  | 
  
Di solito il file  MAP non ci interessa,
    per cui
    potremo dare il comando LINK prova; con un ; (punto
    e virgola) dopo il nome dell'oggetto. In questo modo viene creato
    direttamente il file EXE, senza creare  MAP e senza fare altre domande:
 
  | 
| 
     
  | 
  
In realtà il comando che useremo nel
    nostro ambiente di programmazione sarà un po' più articolato:
 
 
  | 
| 
     
  | 
  
| Nell'ultima presentazione si è fatto uso di una delle opzioni del collegatore; ne esistono altre e sono disponibili anche numerosi switch (/). .. Ma non intendo occuparmi ne delle prime ne dei secondi (chi muore dalla voglia di saperne di più sarà costretto a consultare i manuali originali Microsoft). | 
  | 
| 
      
       |  
    Capitolo 2 | 
      
       | 
    LINKER 3/10 | 
    
    ![]()  | 
    
    ![]()  | 
    
    ![]()  | 
 ||
| 39 di 87 | 
      
  | 
    
| 
     
  | 
  
        
  | 
    
| 
      
         
        Home 
     | 
      
  | 
    |||||||
      
  | 
       
          
        Motore Ricerca  | 
      
  |