2010-08-03 18 views
9

¿Cuál es el significado del indicador de optimización -O4 en gcc (3.2.3)? ¿Cuál es la diferencia con O3? ¿Cuándo usarías uno frente a otro?gcc -O4 indicador de optimización

Las páginas man solo mencionan O, O0-3, Os, ninguna palabra del misterioso O4. ¡Gracias!

+4

gcc 3.2.3 es positivamente arcaico. Desde entonces, los desarrolladores han lanzado gcc 3.3, 3.4, 4.0, 4.1, 4.2, 4.3, 4.4 y 4.5. Realmente deberías usar una versión más actual. – Novelocrat

+2

Pero la respuesta es la misma para todo, al menos hasta 4.4 – tstenner

+0

Podría ser un remanente de los días de PGCC que admitía todo hasta -O9. –

Respuesta

17

No hay -O4 en 3.2.3. Todo por encima de -O3 da como resultado la elección de -O3.

+0

Ok, eso lo explicaría. ¿Sabría usted si puedo decir qué indicador O se utilizó cuando se compiló algo si tengo el código binario? – naumcho

+0

Algunos sistemas de compilación insertan las configuraciones del compilador en el binario, pero no hay una manera fácil y genérica. – tstenner

+0

¿Sigue siendo relevante a partir de gcc 5.3.0? – ZN13

17

Puede comprobar qué optimización están habilitados para cada nivel

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

Funciona al menos por gcc 4.4.

+0

No funciona con 4.1.2, pero es útil saberlo. – bstpierre

+0

Funciona con 4.3.2, gracias por la sugerencia. –

Cuestiones relacionadas