Salut à tous.
Alors j'essaie de comprendre un peu l'allocation mémoire sous windows. J'ai donc fait un tout petit code tout simple :
Comme résultat j'attendais 2 choses :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
la 1è, ça aurait un dépassement de tampon. car en incrémentant a, je pointe sur le segment mémoire situé après a. à la première allocation, ok ça devrait marcher sans problème. mais pour la suite...
bon j'aurais une interpétation, mais je ne sais pas si elle est juste : en allouant 1024 octet à chaque fois, en admettant que je commence à l'adresse 0, en incrémentant a de 1 octet, je pointe sur de la mémoire déjà allouée par le programme. Donc l'OS accepte (je tourne sous Win XP sp2 pour précision).
la 2è, c'est que le programme aurait pris de + en + de mémoire jusqu'à ce qu'il n'y en ait plus de disponible. Or c'est monté jusqu'à 110 Mo puis redescendu vers 10Mo à peu près constant.
Est-ce que l'OS libère de la mémoire au fur et à mesure ? d'un côté c'est bien car ça ne plante pas, mais si jamais on avait réellement besoin de cette mémoire, ben pas terrible.
Enfin voilà, merci de m'éclairer sur ces points. Désolé si ces questions ont l'air un peu bête...
++

 

 
		
		 
        

 
			
			



 Allocation mémoire
 Allocation mémoire
				 Répondre avec citation
  Répondre avec citation

 
   



 
  
  
  
 
 
			 
   
 
 
   
 
			 
			
Partager