Structure des variables en m�moire
Bonjour � tous,
Question un peu vague, mais la moindre petite information sera plus que bienvenue.
J'aimerais savoir comment sont structur�s les blocs de m�moire alou�s dynamiquement.
Un petit exemple vaut mieux etc...
Sous windows, �xecutons le code suivant :
Code:
1 2 3 4 5 6 7 8
|
#include <string.h>
int main(int *argc, char **argv)
{
char *Test = new char[0xF];
strcpy(Test, "aaaabbbbccccdddd");
} |
Au d�buguage on note que Test = 0x00430090.
On effectue un dump de la m�moire aux alentours de cette adresse :
(C'est pas beau, mais sans police � chasse fixe, c'est illisible)
Code:
1 2 3 4 5 6 7 8 9 10 11
|
00430080 0F 00 00 00 .... -> J'ai remarqu� que c'�tait la taille du bloc allou�
00430084 01 00 00 00 .... -> Keskec� ?
00430088 29 00 00 00 )... -> What ?
0043008C FD FD FD FD ���� -> C'est quoi ?
00430090 61 61 61 61 aaaa --------------------
00430094 62 62 62 62 bbbb Voil� le bloc allou�
00430098 63 63 63 63 cccc
0043009C 64 64 64 64 dddd ---------------------
004300A0 00 FD FD 00 .��. -> ?????
004300A4 00 00 00 00 .... |
De plus, est-ce que cette organisation change en fonction du syst�me d'exploitation, de l'architecture, du language utilis� ou du temps qu'il fait dehors ?
En vous remerciant par avance, vous avez un tr�s beau forum ;)