Oppure

Loading
04/04/07 14:31
Che Guevara
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:
aaa
04/04/07 17:43
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, 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 04/04/07 17:49
aaa
05/04/07 10:43
Hacker
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.

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 05/04/07 10:44
aaa
05/04/07 19:49
Che Guevara
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:
aaa
05/04/07 19:51
Che Guevara
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:
aaa
06/04/07 12:25
lorelapo
Non ho detto niente di che, Che.:k:
aaa
06/04/07 13:24
Hacker
Che cosa intendi per argomento?

Intendo come parametro da passare al programma;)
aaa
06/04/07 16:50
Che Guevara
Postato originariamente da Hacker:

Intendo come parametro da passare al programma;)


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