• Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X

linker

di Mauro Cappelli - Enciclopedia della Scienza e della Tecnica (2008)
  • Condividi

linker

Mauro Cappelli

Software di sistema che raccoglie le procedure separatamente prodotte nella fase di traduzione di un programma scritto in un certo linguaggio di programmazione e provvede a realizzare un collegamento (to link) tra di loro. La fase in cui interviene il linker si colloca dopo quella di compilazione o assemblaggio delle procedure sorgente e genera come prodotto un programma detto file oggetto (in sistemi MS-DOS e Windows i moduli oggetto hanno l’estensione .obj, mentre in UNIX l’estensione .o). Il programma ottenuto dopo la fase di collegamento è un programma eseguibile completo, che può essere caricato nella memoria del computer ed eseguito (con estensione .exe nei sistemi MS-DOS e Windows, senza estensioni in altri sistemi tra cui UNIX). La necessità di collegare tra loro procedure diverse deriva dal fatto che di solito i programmi vengono scritti suddividendoli in più procedure, le quali sono tipicamente tradotte in modo separato. La scelta di compilare e assemblare separatamente ogni procedura sorgente risponde a criteri di modularità, in quanto in tal modo risulta più semplice la modifica di una delle sue parti, a vantaggio della velocità complessiva del processo di traduzione e collegamento. Ciò risulta tanto più importante al crescere del numero di procedure presenti (che in programmi particolarmente complessi possono raggiungere le migliaia di unità). Inoltre, i programmi fanno spesso appello a funzioni standard il cui codice è già stato scritto, compilato e testato, tanto che il relativo file oggetto viene opportunamente conservato in un’apposita parte del software di sistema, detta libreria di codice, pronto per essere utilizzato da chiunque ne abbia bisogno. Un programma che necessita allora di una funzione presente in tale libreria può limitarsi a prelevarne una copia e richiedere al sistema di includerla nel proprio codice oggetto. Il linker assolve appunto a tali richieste includendo il codice oggetto della libreria nel file oggetto del programma chiamante. A un livello architetturale più basso, il ruolo fondamentale del linker consiste nella risoluzione del problema della rilocazione e del binding dei nomi, operazioni legate alle variazioni di indirizzo dei segmenti di codice in seguito alla compilazione. I sistemi operativi moderni fanno uso di una tecnica detta collegamento dinamico (dynamic linking), secondo la quale alcune procedure non vengono collegate (linkate) finché non vengono effettivamente chiamate, ossia fino a che il programma non è in esecuzione. Tale tecnica è per es. impiegata dalle DLL (Dynamic link library) di Windows o dalle shared library di UNIX. Il linker viene anche chiamato linking loader (nei sistemi UNIX) o linkage editor (nei mainframe IBM).

→ Computer science

Vedi anche
compilatore In informatica, programma che traduce il codice sorgente (un altro programma) scritto in un linguaggio di programmazione di alto livello in codice oggetto o target (un terzo programma) scritto in un linguaggio di più basso livello. Utilizzando un altro programma, il linker, è possibile ‘collegare’ i ... libreria In informatica, collezione di funzioni, generalmente affini, utilizzabile da altri programmi, previo collegamento della stessa. In base al tipo di collegamento con il programma che le usa, si parla di libreria statiche o dinamiche: le procedure di una libreria statica vengono copiate nell’applicazione ... subroutine In informatica, lo stesso che sottoprogramma, ossia programma (generalmente breve) che può essere richiamato, anche più volte, dal programma principale per risolvere un problema specifico e frequente, agevolando così la programmazione e facendo risparmiare spazio di memoria. In alcuni contesti si considerano ... editor In informatica, programma orientato alla modifica e sostituzione di simboli (con il verbo editare si indica l’attività di modifica di file mediante un editor). L’ editor di testi (dall’inglese text editor o symbolic editor) è il programma, generalmente interattivo, che opera su stringhe di caratteri ...
Categorie
  • PROGRAMMAZIONE E PROGRAMMI in Informatica
Tag
  • LINGUAGGIO DI PROGRAMMAZIONE
  • SISTEMI OPERATIVI
  • SOFTWARE
  • WINDOWS
  • UNIX
  • Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X
  • Ricerca
    • Enciclopedia
    • Vocabolario
    • Sinonimi
    • Biografico
    • Indice Alfabetico

Istituto della Enciclopedia Italiana fondata da Giovanni Treccani S.p.A. © Tutti i diritti riservati

Partita Iva 00892411000

  • facebook
  • twitter
  • youtube
  • instagram
  • Contatti
  • Redazione
  • Termini e Condizioni generali
  • Condizioni di utilizzo dei Servizi
  • Informazioni sui Cookie
  • Trattamento dei dati personali