Quelques questions, pour ma culture générale....
Suite à la lecture d'un post sur ce forum, et de cette doc :
http://www.gotw.ca/gotw/009.htm
J'aimerais comprendre comment ça se passe vis-a-vis du code que l'on tape :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int uneFonction(int parametre) { int variable; // variable est allouée dans la "stack" ? variable = parametre * 2; return variable; }Dans un fichier .h, si on définit une variable "globale" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 cClasse* uneFonction() { cClasse* pointeur; pointeur = new cClasse(); // l'instance de cClasse est allouée dans le Free Store ou dans le Heap ? return pointeur; }
Dans un fichier .h, si on définit un pointeur "global" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int entierGlobal = 5; // l'int est alloué dans le Global/Static ?
Enfin, est-ce le fait d'acceder successivement à des données allouées dans des segment différents à un rapport avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 cClasse* pClasse = new cClasse(); // le pointeur pClasse est alloué dans le Global/Static // et l'instance de la classe est alloué dans le Free Store ou dans le Heap ?
- le nombre "d'erreur de cache" (quand le processeur doit recharger le cache parceque les données n'y sont pas déjà)
- le nombre de "page fault" ("erreur" du meme genre, je crois) que l'on peut observer dans le gestionnaire des taches de windows
Merci de m'éclairer !
Partager