Cas 1:
Définition de toutes les constantes que la définition de préprocesseur utilisant #define
comme:différent Mémoire-besoin en cas d'utilisation "const" et "#define" IAR
#define x 12
Utilisation de la mémoire (de file_name.lst
)
2 240 bytes of CODE memory
920 bytes of DATA memory
cas n ° 2:
Définition de toutes les constantes que la définition du compilateur en utilisant comme const unsigned int
:
const unsigned int x = 12;
Utilisation de la mémoire (de file_name.lst
)
2 240 bytes of CODE memory
1 byte of CONST memory
920 bytes of DATA memory
Mes questions:
Où sont les définitions préprocesseur enregistrées? Flash, RAM, ailleurs?
Cela signifie-t-il que la définition du préprocesseur est un moyen de réduire l'utilisation de la mémoire?
Les macros de préprocesseur n'existent plus au moment de l'exécution, elles ne sont donc sauvegardées nulle part. Le '12' sera codé en dur dans votre exécutable. – mch
"codé en dur dans [...]", i. e. ils sont réellement cachés dans la section de mémoire de CODE, e. g. dans les instructions correspondant au code assembleur comme 'ajouter eax, 12' ... – Aconcagua