2010-08-03 12 views
9

Qual è il significato del flag di ottimizzazione -O4 in gcc (3.2.3)? Qual è la differenza con O3? Quando useresti l'uno contro l'altro?gcc -O4 flag di ottimizzazione

Le pagine man menzionano solo O, O0-3, Os, nessuna parola del misterioso O4. Grazie!

+4

gcc 3.2.3 è decisamente arcaico. Da allora, gli sviluppatori hanno rilasciato gcc 3.3, 3.4, 4.0, 4.1, 4.2, 4.3, 4.4 e 4.5. Dovresti davvero usare una versione più recente. – Novelocrat

+2

Ma la risposta è la stessa per tutto almeno fino a 4.4 – tstenner

+0

Potrebbe essere un avanzo dei giorni PGCC che supportava tutto fino a -O9. –

risposta

17

Non c'è -O4 in 3.2.3. Tutto sopra -O3 risulta in -O3 scelto.

+0

Ok questo lo spiegherebbe. Vuoi sapere se posso dire quale O flag è stato usato quando qualcosa è stato compilato se ho il binario? – naumcho

+0

Alcuni sistemi di compilazione inseriscono le impostazioni del compilatore nel binario, ma non esiste un modo semplice e generico. – tstenner

+0

È ancora rilevante a partire da gcc 5.3.0? – ZN13

17

È possibile controllare ciò che l'ottimizzazione sono abilitati per ogni livello

gcc -c -Q -O3 --help=optimizers | grep enabled

Funziona almeno per gcc 4.4.

+0

Non funziona con 4.1.2, ma è utile sapere! – bstpierre

+0

Funziona con 4.3.2, grazie per il suggerimento. –

Problemi correlati