2011-11-05 17 views
5

Come posso dire che un file .lib è una libreria statica v.s. una libreria di importazione per una DLL? C'è qualche strumento o comando che potrebbe fare questo?libreria statica v.s. libreria di importazione su piattaforma Windows

La seconda domanda è: come posso controllare le dipendenze di una libreria statica, cioè come potrei sapere quali DLL sono incluse in questa libreria statica?

Grazie per qualsiasi aiuto qui.

Con i migliori saluti,

+0

Queste informazioni saranno fornite con il file .lib –

+0

Se non hai idea di questo, allora * non * vuoi usa la biblioteca. Contatta il proprietario del codice e chiedi informazioni sulle opzioni di supporto. –

+1

Nota che la libreria statica e la libreria di importazione sono solo due estremi nello spettro. Puoi anche avere una libreria mista statica/di importazione. –

risposta

5

biblioteca Import aggiungerà una dipendenza DLL al vostro programma. Il tuo programma non si avvierà se non hai la DLL. (Puoi usare Dependency Walker per far dipendere i nomi delle DLL del tuo programma).

Afaik Le librerie statiche non hanno dipendenze. Sono collegati al programma, solo gli errori linker ti diranno se quella particolare libreria dipende da un'altra lib. (Almeno in GCC, non so volere è il comportamento degli strumenti MS.)

+0

Per espandere su questo: collegare la libreria statica con un programma banale, quindi utilizzare Dependency Walker per cercare eventuali nuove dipendenze DLL. Le librerie statiche –

+4

in genere dispongono di dipendenze DLL per almeno le librerie di sistema di base (ntdll.dll e così via) e possono anche avere dipendenze per il runtime della lingua, ad es. Msvcrt.dll. –

Problemi correlati