++Taz a écrit :
par contre quelque chose d'interessant quand on veut faire de l'optimisation agressive mais pas destructrice (enlever des virtual, c bien mais le jour ou on réutilise...), c'est de bien maitriser la déclaration des champs de ses structures/classes: gaffe aux bits de bourrage, on peut perdre inutilement quelques octets
|
ouais j'ai découvert ca y a pas longtemps, avec un truc du genre :
struct s1
{
char c1;
int i;
char c2;
}
et
struct s2
{
int i;
char c1;
char c2;
}
on a sizeof (s1) == 12 et sizeof (s2) == 8
en anglais on appelle ca le padding je crois, qu'est par défaut de 4. par contre me souviens plus comment on l'élimine, sauf sous VC++, avec un "pragma pack()" je crois.
c'est meme pas de l'optimisation, il parait que le code généré est moins efficace quand les struct sont pas alignées (enfin bon, chuis pas sur...)
edit : j'ai retrouvé la page, ca explique bien le truc :
http://msdn.microsoft.com/library/ [...] errors.asp
Message édité par Konar le 10-07-2003 à 01:17:16