Maison >développement back-end >C++ >Quels sont les niveaux d'avertissement optimaux du compilateur pour les différents compilateurs C/C ?
Niveau d'avertissement optimal du compilateur pour C/C
Divers compilateurs C/C offrent différents niveaux d'avertissement, influençant la quantité et la gravité des avertissements signalés lors de la compilation. Voici quelques niveaux d'avertissement recommandés pour différents compilateurs :
GCC/G :
Pour GCC et G , le niveau recommandé est '-Wall'. Cela active tous les avertissements que le compilateur juge pertinents concernant des erreurs potentielles ou de mauvaises pratiques de codage.
Sun CC :
Pour Sun CC, '-xlist=custom' est recommandé , avec les indicateurs d'avertissement suivants :
aCC (HPUX) :
Pour aCC, '-qwarn all=on2' est conseillé. Cela active tous les avertissements disponibles, y compris le niveau de gravité le plus élevé.
Visual Studio :
Pour Visual Studio, « /W4 » est recommandé. Ce paramètre active tous les avertissements, à l'exception de ceux considérés par le compilateur comme trop bruyants ou potentiellement déroutants.
Intel :
Pour les compilateurs Intel C/C, '- Wall' est un bon point de départ. Des avertissements spécifiques supplémentaires peuvent être activés si nécessaire, tels que « -Wselect-any-enum-values » ou « -Wno-unused-value ».
Drapeaux extra-paranoïaques GCC/G :
Pour une vigilance extrême, l'ensemble de drapeaux suivant peut être utilisé en plus de « -Wall » :
-Weffc++ -pedantic -pedantic-errors -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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!