IDE Arduino - variables

Bonjour,

Phoenix65:
Et est-ce équivalent alors à un truc comme ça ?
const int maVariable = 0;

D'un point de vue optimisation un #define ou une variable const (pas un tableau par contre) c'est la même chose.
Le const ayant l'immense avantage d'associer un type fixe à la variable (c'est pas juste un remplacement de chaine de caractères avant la compilation).

Phoenix65:
Et sur mon image plus haut, quel onglet s'exécute en premier ? Tous ? celui de gauche ?

Tous, dans l'ordre où ils sont ouverts, soit de gauche à droite.
Lors de la compilation tout les onglets sont mis les un à la suite des autres dans un énorme fichier cpp.

Toutes variables, fonctions, define, ... déclaraient dans un onglet "supérieur" est accessible dans un onglet "inférieur".
Mais coder en ayant cela en tête est juste idiot, rien ne dit que les prochaines versions de l'ide ne feront pas un fichier cpp par onglet.

fdufnews:
D'ailleurs, il est fort possible que l'optimisation par le compilateur aboutisse à la suppression de cette variable car elle n'est utilisée nulle part ailleurs par la suite.

Si la variable est globale mais pas static le compilateur va la garder (il ne peut pas savoir si la variable va être utilisé ailleurs dans le code).
(le linker par contre peut la supprimer si on lui demande explicitement via (arguments gcc) -fdata-sections -ffunction-sections -Wl,--gc-sections)
Si la variable est static + globale (ou locale) elle sera automatiquement "optimisé" si -Os est spécifié lors de la compilation.