Skip to main content

Cos'è un file oggetto?

Un file oggetto è un file di computer generato da un programma chiamato compilatore e contiene dati e istruzioni.I compilatori traducono il codice sorgente del linguaggio di programmazione in un modulo leggibile da macchina intermedio noto come codice oggetto.Programmi più piccoli potrebbero essere compilati in un singolo file di oggetti, mentre i programmi più grandi vengono in genere compilati in diversi file di funzione correlata.Questi singoli file di oggetti sono uniti da un linker e le informazioni specifiche del sistema operativo vengono aggiunte per formare un programma eseguibile.

Nella pratica comune, un file oggetto è indicato da un'estensione del file .obj.Tuttavia, ci sono diversi formati per questi file.I più comuni sono Intel Formato del modulo oggetto trasmessabile (OMF) e il formato del file oggetto comune (COFF) di Windows Reg e Unix System V. in molti inix reg;Sistemi, il formato eseguibile e collegabile (ELF) è arrivato a sostituire la caffe.Le procedure e i dati aperti al riferimento esterno vengono assegnati nomi da cui possono essere chiamati da altri moduli.Allo stesso modo, i riferimenti alle informazioni al di fuori del modulo sono annotati ma non assegnati un nome.Quando i file sono collegati, ai riferimenti senza nome verrà assegnato il nome dato loro nel modulo in cui sono stati originariamente definiti.I nomi locali vengono utilizzati per istruzioni e dati citati esclusivamente all'interno di un modulo.

Non tutto il codice collegabile viene archiviato come file di oggetti.Le librerie sono raccolte di routine precompilate che vengono archiviate come codice oggetto.Sono prodotti più o meno allo stesso modo dei file di oggetti e sono utili per archiviare le procedure frequentemente chiamate.Quando un linker non trova un riferimento all'interno di altri file di oggetti, lo cercherà automaticamente in un file di libreria.La maggior parte delle implementazioni di un linguaggio di programmazione viene fornita con una libreria standard di funzioni.

Per mezzo del collegamento dinamico, un file oggetto può essere utilizzato contemporaneamente da più programmi di esecuzione.Invece di vincolare il codice oggetto a un programma quando è collegato, viene recuperato quando il programma viene caricato o in fase di esecuzione quando viene referenziata una procedura.In Windows ambiente, questi sono noti come librerie di collegamenti dinamici e sono indicati da un'estensione .dll.Sistemi simili a Unix Spesso termina questo tipo di file un oggetto condiviso dinamico (DSO).Questo tipo di file di oggetti può anche essere implementato per l'uso con un particolare programma e farebbe parte dell'installazione dei programmi.