Allocation de mémoire

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 30 juin 2004 à 19:47
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 - 2 juil. 2004 à 11:40
Je dois faire des petites allocations de mémoire pour des structures de quelques octets. Quelle fonction devrais-je utiliser? HeapAlloc, LocalAlloc, VirtualAlloc? Je ne vois pas la vraie différence entre ces fonctions. Merci

8 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 juin 2004 à 20:52
HeapAlloc

ciao...
BruNews, Admin CS, MVP Visual C++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
30 juin 2004 à 21:33
merci
0
cs_Chouchou182 Messages postés 252 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 25 avril 2011 1
30 juin 2004 à 21:37
Hello

Quelqu'un pourrait-il en profiter pour donner quelques explications sur les différences de ces 3 fonctions ?

Merci d'avance.

Chouchou
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
30 juin 2004 à 21:39
implicitement, cela faisait aussi partie de ma question, je ne vois qu'une personne pour nous expliquer ca...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 juin 2004 à 21:47
En fait que 2: HeapAlloc et VirtualAlloc.
LocalAlloc est a considerer quasi comme obsolete.

Pour faire de l'ultra condense, alloc de petits morceaux ira plus vite par HeapAlloc. Si trop gros, le bebe est repasse en interne a VirtualAlloc.
Dans tous les cas se referer a Richter qui consacre plusieurs chapitres sur le sujet avec exemples.
Gestion de la memoire sous Windows, un vrai roman mais passionnant.

ciao...
BruNews, Admin CS, MVP Visual C++
0
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
2 juil. 2004 à 11:21
Pourquoi ne pas conserver l'allocation standard du C ou C++ (malloc/free ou new/delete) ?

Je ne vois pas trop l'interêt d'utiliser les API Windows dans ce cas, surtout qu'au niveau portabilité, c'est forcément un gros inconvénient que d'utiliser les API Windows quand on peut s'en passer...

C'est juste une question...

Jock
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 juil. 2004 à 11:30
La portabilite n'est pas forcement l'objectif de tout le monde, on peut y preferer la performance sur un systeme particulier.
Lis Richter et tu verras ce qu'on peut se permettre avec API qui est inconcevable avec les instructions standards.

ciao...
BruNews, Admin CS, MVP Visual C++
0
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
2 juil. 2004 à 11:40
Oui, j'ai lu Ritcher (d'ailleur au passage merci de m'avoir conseillé cette lecture il y a quelques mois, c'est très interressant).

Cependant, les gestionnaires mémoires virtuelles de Windows sont très très pauvres... qu'on se le dise (et pourtant je ne suis pas un anti Windows).

A vérifier en faisant un benchmark... (sous 95/98, ce sera flagrant... sur 2000/XP, beaucoup moins).

Jock
0
Rejoignez-nous