2009-07-23 17 views
24

Come posso ottenere la riga di comando che GCC utilizza per richiamare ld?Come ottenere il comando GCC linker?

Ho un problema per un target AVR in cui GCC sembra aggiungere un'opzione linker che sto cercando di sovrascrivere, quindi mi piacerebbe dare un'occhiata alle esatte opzioni che GCC usa per ld.

risposta

34

Utilizzare gcc -v per vedere quali comandi viene eseguito. Come in,

gcc -v -o hello hello.c 

Questo stamperà molto output, incluso il comando linker. L'output effettivo dipende dalla piattaforma, ma il comando di collegamento dovrebbe essere vicino alla fine. In alternativa, utilizzare

gcc -### -o hello hello.c 

Questo è come -v, ma in realtà non esegue tutti i comandi e cita le opzioni.

Un'altra opzione è

gcc -dumpspecs 

Cercare la voce per link.

I precedenti flag della riga di comando sono elencati in gcc --help e spiegati nella pagina man. Ecco GCC documentation for the spec files.

+2

Oppure utilizzare gcc - ### che è simile a -v ma in realtà non esegue nulla ant virgola tutti gli argomenti –

+1

Grazie! Ho modificato il post per menzionare anche gcc - ###. –