Utilisez toujours -O
ou plus ( -O1
, -O2
, -Os
etc.). Au niveau d'optimisation par défaut, gcc privilégie la vitesse de compilation et ne fait pas assez d'analyse pour avertir sur des choses comme les variables unitialisées.
Envisagez de faire -Werror
car les avertissements qui n'arrêtent pas la compilation ont tendance à être ignorés.
-Wall
permet d'activer les avertissements qui sont très probablement des erreurs.
Avertissements inclus dans -Wextra
ont tendance à signaler un code commun et légitime. Ils peuvent être utiles pour les revues de code (bien que les programmes de type lint trouvent beaucoup plus de pièges et soient plus flexibles), mais je ne les activerais pas pour un développement normal.
-Wfloat-equal
est une bonne idée si les développeurs du projet ne sont pas familiers avec la virgule flottante, et une mauvaise idée s'ils le sont.
-Winit-self
est utile ; je me demande pourquoi elle n'est pas incluse dans le programme -Wuninitialized
.
-Wpointer-arith
est utile si vous avez du code principalement portable qui ne fonctionne pas avec -pedantic
.
11 votes
Bien
-save-temps
,-Wshadow
y-fmudflap
ont été les plus grandes découvertes que je ne connaissais pas, merci à tous.0 votes
Contexte, d'après ce que je peux dire : courir
gcc -c [flags-go-here] -o myprog.o myprog.c
pour compiler (et non lier) un programme C.