Pregunta

En un proyecto que estoy trabajando en la oficina, cuando se compila una versión de lanzamiento (con -Os) obtenemos cientos de advertencias de g ++ procesos en línea diciendo que ha fallado. La mayoría de estas advertencias parecen provenir de impulso, sin embargo, algunos vienen de nuestras propias cabeceras de la biblioteca (.dylibs binarios que va a asociar a). Pueden estas advertencias en general, ser ignorados, o son algo que debería estar preocupado?

Nota: Estamos utilizando g ++ 4.0 en Mac OS X

¿Fue útil?

Solución

g ++ está alertando a lo que es en esencia, estrictamente un problema de rendimiento - que está solicitando implementaciones inline que simplemente no puede ser inline. Si el uso de inline en realidad no importa, debe eliminarlo (compiladores son capaces de inline funciones sin que toque, ya sabes -!), Pero en términos de corrección de código, puede pasar por alto la advertencia. Si el uso de inline realmente importa, es decir, es crucial para el rendimiento (en lugar de ser una optimización prematura tonto), la advertencia se le indica que reelaborar su código por lo que se puede lograr (peor de los casos, moviendo hacia abajo para macros - suspiro, pero, cuando es necesario, usted debe -.)

Otros consejos

Hay que salvar si no

  • conectó un error en gcc
  • anticipar funciones inline en el código
  • tratar de hacer cosas desagradables

Usted debe tratar de minimizar las advertencias sin embargo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top