HeavenForsaker
Messages postés223Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 8 août 2011
-
10 avril 2008 à 11:36
HeavenForsaker
Messages postés223Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 8 août 2011
-
13 avril 2008 à 11:31
Bonjour,
J'ai un tableau de structure à 2 dimensions (MyTab) qui se présente comme ceci :
typedef struct _MYSTRUCT {
TCHAR Char
WORD wData
} MYSTRUCT;
MYSTRUCT MyTab[5][256];
Le tableau fait 5ko, est-ce préférable d'utiliser une fonction d'allocation mémoire (VirtualAlloc ou autre) ou puis-je m'en passer ?
Apparement ça fonctionne très bien sans...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 10 avril 2008 à 12:46
Pour 5 Ko, HeapAlloc() ira très bien vu que dans ton cas, un simple alignement sur 4 suffira.
Par contre le membre WORD risque un mauvais alignement en compilation ANSI pour cause de TCHAR.
Mets une union avec char[2] et un WORD pour le 1er membre.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 11 avril 2008 à 01:30
Le compilo fera et pensera pour moi...
Pour ceux qui "pensent" ainsi on a créé les langages interprétés. Si tu veux gravir les échelons, il te faudra rapidement changer de point de vue. Pour t'en convaincre, cherche donc une structure bancale dans l'API Windows. Je ne pratique pas les Unix mais on peut être certain que eux aussi sont écrits correctement.
HeavenForsaker
Messages postés223Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 8 août 2011 13 avril 2008 à 11:31
Je trouve ton raccourci un petit peu rapide entre le language interprété et le fait de laisser le compilo effectuer un alignement. Cela dit je suis quand même d'accord sur le fait qu'il vaut mieux aligner directement ses structures.