Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Tableau de 5ko, VirtualAlloc nécessaire ? [ Windows / System ] (HeavenForsaker)

jeudi 10 avril 2008 à 11:36:03 | Tableau de 5ko, VirtualAlloc nécessaire ?

HeavenForsaker

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...

++

jeudi 10 avril 2008 à 12:46:59 | Re : Tableau de 5ko, VirtualAlloc nécessaire ?

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
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.

jeudi 10 avril 2008 à 22:00:24 | Re : Tableau de 5ko, VirtualAlloc nécessaire ?

HeavenForsaker

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 ?

vendredi 11 avril 2008 à 01:30:52 | Re : Tableau de 5ko, VirtualAlloc nécessaire ?

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
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++

dimanche 13 avril 2008 à 11:31:18 | Re : Tableau de 5ko, VirtualAlloc nécessaire ?

HeavenForsaker

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 :-)

++



Cette discussion est classé dans : tableau, nécessaire, virtualalloc, mystruct, 5ko


Répondre à ce message

Sujets en rapport avec ce message

comment redimensionner un tableau en c++ [ par bidules ] Salut,je suis debutant en C++ et je ne sais pas comment on fait pour redimensionner un tableau alors si qqun peut m'aider?Merci. tri dans un tableau a 2 dimension en cpp [ par vivo95 ] Bonjours, je rechercherai comment faire pour faire un tri dans un tableau a 2 dimension, je sais le faire dans un tableua a 1 dim mais la je seche.Mer tableau de liste chainee [ par melanie ] comment peut on remplir les cases d'un tableau avec des chainons déclarés comme :typedef struct chainon *listetypedef struct chainon {intval;liste sui Tableau de correspondance des fonctions c++ et de leur fichier #include [ par guguy ] BonjourJ'aimerais savoir s'il serait possible de trouver un tableau de correspondance entre les fonctions c++ et leur fichier #include (ex : cout -> i Créer un tableau [ par pde ] Comment créer en C++ un tableau de type feuille Excel, comportant des lignes et des colonnes, dans un contrôle ou une vue ? Problème de tableau ! [ par Xentor ] Bonjour,Je voudrais déclarer un tableau de caractères en variable générale et pouvoir modifier sa taille dans une fonction !Exemple (écrit en direct, Tableau de type feuille Excel [ par pde ] Comment créer en C++ un tableau de type feuille Excel, comportant des lignes et des colonnes, dans un contrôle ou une vue ? déplacement d'un objet [ par dim ] je voudrais déplacer un objet d'un tableau et récupererla case du tableau sur laquelle il aura laché.comment puis je faire?merci pour votre aide déplacement d'un objet en c [ par dim ] je voudrais déplacer un objet d'un tableau et récupererla case du tableau sur laquelle il aura laché.comment puis je faire?merci pour votre aide recuperer les valeurs de TEdit dans un tableau de char [ par ferrari ] Voici la partie de mon code je cree des TEdit de manieres dynamiques de la maniere suivante. TEdit **b; //declare en global dans le .h de ma classe b


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.