Pb : Vérification de la mémoire prise par une structure de donnée

Messages postés
10
Date d'inscription
dimanche 12 mai 2002
Statut
Membre
Dernière intervention
13 août 2003
-
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
Salut tout le monde,

Mon problème est simple, j'aimerais trouver un moyen de calculer l'espace pris par certains type de données (collection, tableau dynamique ...) et pour cela je voulais trouver un moyen de vérifier la place mémoire restante disponible.

Manque de chance, l'api Globale Memory Status de Windows ne semble pas fonctionner pour cela (quand j'ajoute 100000 éléments à une collection la place prise libre restante de mon prog ne change pas !). Avez vous une solution ?

Cyril Q.
Programmeur débutant
Cyrik@wanadoo.fr

5 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Va voir dans mes sources celle nommée AIDE SUR LES PRINCIPALES API, tu y trouvera une liste d'API, et je crois qu'il en existe qui te permette d'avoir la mémoire disponible...

DARK SIDIOUS
Messages postés
10
Date d'inscription
dimanche 12 mai 2002
Statut
Membre
Dernière intervention
13 août 2003

Arg,

Il semble que l'api dont tu parles est celle que j'ai utilisée. Ca doit être parce que je n'arrive pas à la faire marcher.

Je m'explique en rappelant mon but: vérifier l'espace mémoire prise par des structures persos (à base de collection et tableau redimensionnable).

Quand j'utilise GlobalMemoryStatus, cela renvoie une réponse à plusieurs champs. Je crois pourtant les avoir toutes testées. J'obtiens aucun changement sur dwAvailVirtual (qui devrait contenir l'espace libre totale) et sur dwAvailPhys (qui devrait contenir la taille de la mémoire physique disponible ) j'obtiens des changements alléatoire ce qui parrait logique, vu que le Sys. d'exploitation doit tourner.

Donc, je me retrouve tjrs autant coincé, comment vérifier la taille de mes structures de données ?

Merci d'avance de votre aide

Cyril Q.
Programmeur débutant
Cyrik@wanadoo.fr
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Bon alors, tout d'abord, tu peux me tutoyer ;-)

Va faire un petit tour dans l'aide de VB, et tape le nom d'un type de variable.
L'aide va te donner une liste des différents types de variables avec leurs tailles prises dans la mémoire, je pense que ca peut être une alternative intéressante pour calculer la taille prise par tes variables perso.

DARK SIDIOUS
Messages postés
10
Date d'inscription
dimanche 12 mai 2002
Statut
Membre
Dernière intervention
13 août 2003

Arg 2 le retour,

MERci de répondre à nouveau, mais ca ne résoud pas mon pb, car j'ai regarder partout dans l'aide. Et jamais ne figure la taille d'un tableau dynamique, ni celle d'une collection (c surtout celle ci qui m'intéresse)

Cyril Q.
Programmeur débutant
Cyrik@wanadoo.fr
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Et bien tape Integer, puis choisit résume des types de variables. Comme ca tu aura la place prise par UNE variable dans la mémoire. Si tu as une collection du style :

INT_Nombre as Integer
LNG_Nombre as long

Alors la place prise dans la mémoire sera de :

2 octets + 4 octets, c'est à dire 6 octets. tout simplement

DARK SIDIOUS