Je cherchais à savoir comment optimiser un peu en taille mon code, je faisait donc plusieurs compilation de suite en changeant un peu mon code pour voir quel est le résultat le plus petit.
Or, sans changer rien à mon code ni aucun paramètre, des compilations successives donne un résultat différents (Une centaine d'octets d'écart).
Par pur curiosité, je me questionne, qu'est ce qui peut faire que 2 compilations à priori identique (sans rien changer au code ni aux options de compilations peut faire changer le résultat??
je précise que j'utilise arduino 1.6.6 sous linux avec une compilation pour arduino mega 2560.
Tu parles de la taille du code généré reporté par le compilateur à la fin de la compilation?
C'est vraiment très bizarre, il n'y a aucune raison qu'avec la même version du compilateur, des librairies, les mêmes options et le même programme ça donne des exécutables différents. En tout cas je ne l'ai jamais constaté.
Par contre, si tu modifie l'ordre des instructions, même si fonctionnellement ça fait la même chose, ça peut changer l'optimisation du compilateur et générer des exécutables de taille un peu différentes.
j'ai continué de bosser sur mon code et je confirme le même phénomène:
2 compilation de suite (entre les 2 je ne change rien: je fait ctrl+R pour lancer une compilation, puis immédiatement après le résultat de la compilation, à nouveau ctrl+R)
Du coup, j'ai coché, comme disait bricoleau, l'option "afficher les résultats détaillés pendant la compilation".
Il s'avère que la seule chose qui change entre 2 et l'ordre d'appel des fichiers déjà compilés précédemment.