Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - Compilatori - Linker
Forum - Altri Linguaggi - Compilatori - Linker

Avatar
Che Guevara (Normal User)
Pro


Messaggi: 117
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 16:31
Mercoledì, 04/04/2007
Mi sono sempre chiesto a cosa servisse il file .obj di cui i compilatori hanno bisogno per creare un eseguibile, e come funzionasse (non cosa farebbe) il linker. Qualche suggerimento al riguardo? :-? :-? :-?

Grazie a tutti quelli che hanno letto il mio post!!! :k: :k: :k:

PM Quote
Avatar
lorelapo (Ex-Member)
Expert


Messaggi: 355
Iscritto: 28/02/2007

Segnala al moderatore
Postato alle 19:43
Mercoledì, 04/04/2007
Un file .obj è un file oggetto rilocabile che contiene tutte le funzioni di un programma, tranne quelle invocate dalle librerie il linker linka, collega le funzioni in modo che ci sia tutto nell' .exe finale, a meno che che tu non usi una Dinamic Link Library (in win .dll) dove tieni alcune delle funzioni che userai nel tuo programma, senza mettere tutto in un solo file grosso come una pustola, e evitando che per funzioni di grosse dimensioni, in senso lato, si usino più ripetizioni(es. 20 prog usano la funzione x(...) di 20 mb è meglio avere un unica trascrizione per tutti e 20 i prog, piuttosto che 400mb di una stessa funzione), o almeno è quello che credo di aver capito non sò se ho ragione ma credo che sia così.
A noi :ot: fa sempre comodo una spiegazione.:k:

Ultima modifica effettuata da lorelapo il 04/04/2007 alle 19:49
PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 12:43
Giovedì, 05/04/2007
Testo quotato

Mi sono sempre chiesto a cosa servisse il file .obj di cui i compilatori hanno bisogno per creare un eseguibile


Il file .obj è un file binario che aspetta di essere linkato.

Testo quotato

e come funzionasse (non cosa farebbe) il linker. Qualche suggerimento al riguardo? :-? :-? :-?


1)Il linker ti chiede come argomento i files .obj che deve linkare;
2)Li apre uno alla volta e risolve tutti i collegamenti(EXTRN) e jump e crea in parallelo il file risultante.
In parole povere dovrebbe essere questo.

Ultima modifica effettuata da Hacker il 05/04/2007 alle 12:44
PM Quote
Avatar
Che Guevara (Normal User)
Pro


Messaggi: 117
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 21:49
Giovedì, 05/04/2007
Testo quotato

Postato originariamente da Hacker:

1)Il linker ti chiede come argomento i files .obj che deve linkare;



Che cosa intendi per argomento?
P.s. Imparo più da te che dai miei professori!!! :k: :k: :k:

PM Quote
Avatar
Che Guevara (Normal User)
Pro


Messaggi: 117
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 21:51
Giovedì, 05/04/2007
Testo quotato

Postato originariamente da lorelapo:

Un file .obj è un file oggetto rilocabile che contiene tutte le funzioni di un programma, tranne quelle invocate dalle librerie il linker linka, collega le funzioni in modo che ci sia tutto nell' .exe finale...



Grazie, il mio professore non è mai riuscito a spiegarmi chiaro così!!! :k: :k: :k:

PM Quote
Avatar
lorelapo (Ex-Member)
Expert


Messaggi: 355
Iscritto: 28/02/2007

Segnala al moderatore
Postato alle 14:25
Venerdì, 06/04/2007
Non ho detto niente di che, Che.:k:

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 15:24
Venerdì, 06/04/2007
Testo quotato

Che cosa intendi per argomento?


Intendo come parametro da passare al programma;)

PM Quote
Avatar
Che Guevara (Normal User)
Pro


Messaggi: 117
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 18:50
Venerdì, 06/04/2007
Testo quotato

Postato originariamente da Hacker:

Intendo come parametro da passare al programma;)



Capito!!! :k: :k: :k:

PM Quote