Tableau de 5ko, VirtualAlloc nécessaire ? [Résolu]

Signaler
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011
-
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011
-
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...

++
A voir également:

4 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
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.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
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.

Tableaux 2 dimensions dynamiques, démo ici:
http://www.cppfrance.com/code.aspx?id=11356

ciao...
BruNews, MVP VC++
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011

Merci BruNews pour la réponse. Normalement le compilo aligne les structures automatiquement, devrais pas y avoir de soucis à ce niveau la.

Une autre question : une fois que j'ai alloué, comment je peut accéder aux 2 dimensions de mon tableau ?
Messages postés
223
Date d'inscription
mercredi 13 juillet 2005
Statut
Membre
Dernière intervention
8 août 2011

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.

Un grand merci pour ton code, ça marche impec :-)

++