Comment voir la memoire q occupe une variable ou autre?

Signaler
Messages postés
172
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
27 novembre 2009
-
Messages postés
172
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
27 novembre 2009
-
salut je cherche a voir combien mon prog occupe de memoire.
y a t il un moyen pour voir combien de memoire utilise une variable,une structure ou un object?

15 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
pour savoir combien ton prog occupe de memoire regarde avec le gestionnaire de tache

pour une variable, ce qui est different, tu a l'operateur sizeof
Messages postés
172
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
27 novembre 2009

ok et avec la librairie memory.h y a des outils pour voir l etat de la memoire?
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
tu y trouvera juste des fonctions pour copier, initialyser et comparer des espaces memoire
Messages postés
172
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
27 novembre 2009

ok merci beaucoup pour ta reponse c sympa ;)
mais la j ai un probleme,j ai une structure avec dedans
2 doublefloat,2 int,un bitmap et une chaine de charactere de 256.
lorsque que je teste une structure que j ai initialise avec mon moteur avec sizeof il m afiiche que ma structure fait 4octetc c normal?
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
non ca l'est pas, peut etre que tu fais sizeof sur un pointeur ?

montre le bout de code correspondant
Messages postés
172
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
27 novembre 2009

c bon j ai resolu le probleme desole de t avoir embette.
jutilisait sizeof comme ceci:sizeof (timmer+counter+refresh) :big)
opour que ca marche j utilise maintenant:sizeof(timer)+sizeof(counter)...avec ca il ne m affiche plus 4octet.
merci djil pour ton aide.

sinon quelqu un pourrai me donner des precision concernant les tableau de pointeurs en 2d,3d et la maniere de les initialiser.
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
juste pour revenir sur sizeof, vu que c'est un operateur, on l'utilise communement comme ca:
sizeof var
sizeof(type)

bien sur si tu le fait dans une operation un peu longue tu pe utiliser les parantheses pour garantir sa priorite, mais fait plutot (sizeof timer)+(sizeof counter)..., mais c'est juste une question d'ecriture

pour un tableau de pointeur, ben sa depend, c'est un peu vague, donne un debut de code pour voir

parce que ca pourrait etre int *t[100], int **t, int *t[100][100] ...
Messages postés
172
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
27 novembre 2009

he bien j ai deja cree des tableau dynamique de int en 3d( int ***matrix3D)mais en fait je voudrai faire un tableau de pointeur 2d avec une structure tile

ca donne ca
struct tiles{
bool passable;
BITMAP *bmp;
char descrip[256];
};
.

est ce qu il est possible de faire par exemple un tableau 3d
avec 1couche de pointeurs vers la structure tile et une couche avec des pointeurs vers la structure batiments?
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
tu ve dir cree un tableau 3d qui puisse contenir des tile ou des batiment ?

tu ve dire koi par tableau de pointeur 2d
int *t[...][...] ou int **t[...] ?

(desole si j'ai du mal a comprendre)
Messages postés
172
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
27 novembre 2009

oui un tableau 3D qui peut contenir des batiment et des tiles...
desole je suis un nb en c++ j ai des probleme pour bien me faire comprendre :blush) .
un tableau 2d(int) on l'initialise comme ca:
int **tab;

int main()
{
tab=new *tab[Y];
for(i=0,i<Y,i++)
tab[Y]=new tab[X];//j espere que c comme ca que ca marche,c pour charger des maps en dyna puisqu on ne peut pas utiliser un tableau static :int tab[Y][X] 
return 0;
}


voila si je ne me suis pas tromper c comme ca que j initialise un tableau dynamique en 2d
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
oui c comme ca, oubli pas de liberé l'espace alloué

sinon ta le choix, utilise un tableau 2d de vector, un type union

autant utiliser une union pour faire ca

union contenu
{
Tile tile;
Batiment batiment;
};

...
contenu ***tab;
...
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
tu peut aussi faire void ****tab; mais t objets seront dynamique aussi
Messages postés
172
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
27 novembre 2009

ouas ca a l air vachement bien les vector de la stl,tu sais ou je peux trouver plus d infos sur cela?
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
c assez simple si tu l'utilise comme un tableau

ya des tuto sur la stl comme source sur ce site
Messages postés
172
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
27 novembre 2009

ok merci de ton aide c gentil.