Qual è la differenza tra i file LIB e obj? (Visual Studio C ++)
-
20-09-2019 - |
Domanda
Lo so obj è il risultato della compilazione un'unità di compilazione e LIB è una libreria statica che può essere creato da alcune obj, ma questa differenza sembra essere solo nel numero di unità di compilazione. C'è qualche altra differenza? E 'lo stesso o diverso formato di file?
Sono venuto a questa domanda quando chiedendo se la stessa variabile statica definita in due (o più) .LIBs viene unito o no durante il collegamento al file eseguibile finale. Per .OBJs le variabili vengono unite. Ma è lo stesso in .LIBs?
Soluzione
Un file LIB è una raccolta di file obj concatenato insieme a un indice. Non ci dovrebbe essere alcuna differenza nel modo in cui il linker tratta sia.
Altri suggerimenti
Sembra che il file LIB è come una raccolta di file obj. Alcune persone considerano anche il processo, che l'interruttore diversi file obj alla Lib file, come archivio. In tal caso, il file lib è una scatola di obj file, che potrebbero essere trattati allo stesso modo da linker.