Bonjour ! Je suis actuellement en stage de fin d'étude.. et il est vrai que pendant les études, on prend pas soin de maitriser la compilation pour des projets "importants" mais surtout pour améliorer la "sécurité" du code.
J'ai vu les magnifiques options d'Emmanuel Delahaye mais j'aimerais avoir confirmation sur ma compréhension de certaines choses.
1)
-Wpacked
Warn if a structure is given the packed attribute, but the packed attribute has no effect on the layout or size of the structure
-> il y a warning seulement si le packed attribute -__attribute__((packed))- est utilisé alors qu'il n'y aura aucun effet sur la taille de la structure (pas d'ajout de padding).
-> par contre si l'utilisation du packed permet de ne pas ajouter du padding, alors aucun warning.
2) Si je veux un code "safe", je réduis l'optimisation.
C'est à dire que je compile avec -O1 voir -O0 (qui est le mode par défaut je crois)
et non -O2 ou -O3 ? ou alors "c'est complétement faux, va relire la doc" ?
3) Il faut utiliser différentes options de compilation selon le stade du projet.
En dev, on compile avec les options qui permettent de débugger, en prod on optimise.
4) Si vous avez de bons conseils, des précisions à apporter, n'hésitez pas 
edit: Le but de ce topic n'est pas de connaitre vos lignes d'options,
mais plutôt de savoir à quel moment vous utilisez certaines options.
Partager