2012-07-14 17 views
18

Diciamo Ho un file molto semplice C (chiamato foo.c):Librerie predefinite collegate da gcc?

int main() 
{ 
    printf("foo"); 
    return 0; 
} 

Ora mi chiamano gcc:

gcc foo.c 

quando chiamo gcc (senza opzioni, come in precedenza esempio), quali librerie sono collegate per impostazione predefinita e dove si trovano? (Su Mac OS X 10.7)

risposta

22

L'opzione -v-gcc lo farà per scaricare informazioni sulle opzioni di default sarà impiego, compresi i percorsi delle biblioteche e le librerie di default e object file che saranno collegate in.

Se si fornisce l'opzione -Wl,--verbose, gcc passerà lo --verbose al linker che eseguirà il dump esattamente dove è in cerca di librerie, comprese le ricerche riuscite e riuscite.

combinare entrambe le opzioni, e vedrete esattamente ciò che le biblioteche sono collegati in, e perché sono stati collegati in.

gcc -v foo.c -Wl,--verbose 
+0

Sul mio mac, ld dice che --verbose è un'opzione non riconosciuta – user1516425

+1

@ user1516425: oh - quando vedo 'gcc', presumo semplicemente che GNU' ld' sia coinvolto. Guardando alcuni documenti per il linker Xcode, https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man1/ld.1.html, potresti voler vedere se '-t L'opzione linker farà il trucco. Altre opzioni da considerare possono essere trovate sotto l'intestazione "Opzioni per l'introspezione del linker" in quella pagina. –

-1

Le librerie standard sono collegate per impostazione predefinita. si trovano in/usr in macchine Linux

+2

'PATH' non è usato per quello. – zwol

Problemi correlati