"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cuáles son los niveles óptimos de advertencia del compilador para compiladores C/C++?

¿Cuáles son los niveles óptimos de advertencia del compilador para compiladores C/C++?

Publicado el 2024-11-09
Navegar:957

What are the Optimal Compiler Warning Levels for C/C   Compilers?

Niveles de advertencia óptimos del compilador para compiladores C/C

La optimización de los niveles de advertencia del compilador puede mejorar significativamente la calidad del código y el manejo de errores. Los diferentes compiladores ofrecen distintos niveles de advertencias, y es crucial comprender el nivel apropiado para su proyecto específico.

Niveles recomendados para compiladores comunes:

  • gcc y g: Generalmente se recomienda '-Wall' para detectar los problemas más comunes, incluidos errores de precedencia lógica y posibles problemas de conversión.
  • Sun CC: Considere '-v :>warnlevel=3' o '-werror' si es necesario.
  • aCC (HPUX): '-Wall -fsyntax-error=ignore' puede ser útil, pero '-Werror' debe usarse con precaución debido a posibles advertencias falsas.
  • Visual Studio: '-Wall' es un buen punto de partida, mientras que '-W4' proporciona una amplia gama de comprobaciones.
  • Intel: '-Wall' para advertencias básicas y '-Werror' para tratar todas las advertencias como errores (use con precaución).

Indicadores de advertencia avanzados para código C:

Para mayor precaución, indicadores de advertencia avanzados como como:

-Wextra -Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts
-Wcomment -Wconversion -Wdisabled-optimization -Werror -Wfloat-equal
-Wformat -Wformat=2 -Wformat-nonliteral -Wformat-security -Wformat-y2k
-Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch
-Wunsafe-loop-optimizations -Wlong-long -Wmissing-braces
-Wmissing-field-initializers -Wmissing-format-attribute
-Wmissing-include-dirs -Wmissing-noreturn -Wpacked -Wpadded
-Wparentheses -Wpointer-arith -Wredundant-decls -Wreturn-type
-Wsequence-point -Wshadow -Wsign-compare -Wstack-protector
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default
-Wswitch-enum -Wtrigraphs -Wuninitialized -Wunknown-pragmas
-Wunreachable-code -Wunused -Wunused-function -Wunused-label
-Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros
-Wvolatile-register-var -Wwrite-strings

se pueden emplear. Ajuste estas opciones según sea necesario según el proyecto específico y las bibliotecas de terceros utilizadas.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3