godzil
:
Pen^2 :
ba un coup sur 2 apparemment, oué
Nan a chaque fois !!! :
unsigned char data1;
un char, qu'il soit signé ou pas, ça fait 1 octet ok ?
en C, oué.
GCC donne :
.globl data1
.even
data1:
.space 2
.space permet de reserver des octets dans le code généré ok ?
Donc pour GCC un char fait 2 octets
[/pre]
ah oué j'av meme pas fait gaffe au space !! Je ne parlais pas de ça, moi !
c encore pire alors !! #trieek#
le even aligne sur une adresse paire, ok ?
Donc si l'adresse initiale était impaire, le even force l'alignement du char sur une adresse paire, d'où perte de un octet, non ? (alignement totalement inutile pour un char !!) (si plusieurs char sont stockés à la suite (g pas dit un tableau de char !), le even fait perdre un octet un coup sur deux, c ce que je voulais dire)
Bref, pour GCC (au moins de base), un char prend entre 2 et 3 octets