2012-09-26 10 views
5

Eventuali duplicati:
Detecting CPU architecture compile-timeRileva per quale CPU di destinazione è stato configurato un GCC?

C'è una definizione che i set del GCC che indica quale CPU (x86/amd64/ppc/etc) GCC è configurato per?

Così posso usarlo come:

#ifdef PPCARCH 
    dosomething(); 
#endif 
+0

per codice compilato o gcc stesso? – Aftnix

+1

http://sourceforge.net/apps/mediawiki/predef/index.php?title=Architectures - ma non sono sicuro di quanto sia accurato questo. –

+0

@Banthar, lo accetterei per una risposta. –

risposta

5

Per rilevare l'architettura al momento della compilazione del codice sorgente utilizzare una macro predefinita.

In base a questo article, avrà sempre un nome in un modulo _arch_ o __arch__ dove l'arch è il nome dell'architettura di destinazione. Per vedere cosa esattamente definito, utilizzare il seguente comando:

touch foo.h; cpp -dM foo.h; rm foo.h 

Stampa tutti i macro predefiniti.

Per stampare sulla riga di comando, provare:

gcc -dumpmachine 

Mostrerà il bersaglio del GCC è è costruito per.

+0

Penso di non essere chiaro, quindi ho aggiornato la mia domanda. –

+0

@AmigableClarkKant Ho aggiornato la risposta per riflettere il vostro chiarimento – Serge

Problemi correlati