Tu accedes a de la memoire que tu as liberees, c'est pas autorise.
t[2] = 123;
Tu accedes a de la memoire pas allouee, c'est pas autorise.
Y a t-il des memory leak ? si oui, ou ?
Non, ce que tu fais est plus grave.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
nico <nospam@spam.fr> writes:
Je ne comprends pas pourquoi ca s'execute sans problème et surtout que ca
renvoie ca :
A partir du moment ou il y a des comportements indefinis, il n'y a pas
grand chose a comprendre.
Tu accedes a de la memoire que tu as liberees, c'est pas autorise.
t[2] = 123;
Tu accedes a de la memoire pas allouee, c'est pas autorise.
Y a t-il des memory leak ? si oui, ou ?
Non, ce que tu fais est plus grave.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Tu accedes a de la memoire que tu as liberees, c'est pas autorise.
t[2] = 123;
Tu accedes a de la memoire pas allouee, c'est pas autorise.
Y a t-il des memory leak ? si oui, ou ?
Non, ce que tu fais est plus grave.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
nico
Salut,
A partir du moment ou il y a des comportements indefinis, il n'y a pas grand chose a comprendre.
Tu accedes a de la memoire que tu as liberees, c'est pas autorise.
Oui je sais mais je m'attendais à un segmentation fault
En pratique la memoire est toujours allouee a ton processus, donc tu peux toujours ecrire dedans et la lire. Mais tu risques de demolir des structures de donnees de la bibliotheque (par exemple celle gere new/malloc) ou les tiennes (si elle t'a ete reallouee pour autre chose).
t[2] = 123;
Tu accedes a de la memoire pas allouee, c'est pas autorise.
idem
De meme, la memoire est generalement allouee en deux temps: de l'OS a la bibliotheque et de la bibliotheque au programme. Dans les deux cas, il y a des chances pour que la quantite de memoire allouee soit arrondie (de l'OS a la bibliotheque, c'est generalement par page, de la bibliotheque au programme, c'est par une unite telle que - les zones sont toujours bien allignees pour tous les types - il y a toujours moyen de mettre les structures necessaires pour gerer l'allocation, en pratique ca fait generalement au moins 2 pointeurs.)
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
nico <nospam@spam.fr> writes:
Salut,
A partir du moment ou il y a des comportements indefinis, il n'y a pas
grand chose a comprendre.
Tu accedes a de la memoire que tu as liberees, c'est pas autorise.
Oui je sais mais je m'attendais à un segmentation fault
En pratique la memoire est toujours allouee a ton processus, donc
tu peux toujours ecrire dedans et la lire. Mais tu risques de
demolir des structures de donnees de la bibliotheque (par exemple
celle gere new/malloc) ou les tiennes (si elle t'a ete reallouee
pour autre chose).
t[2] = 123;
Tu accedes a de la memoire pas allouee, c'est pas autorise.
idem
De meme, la memoire est generalement allouee en deux temps: de l'OS a
la bibliotheque et de la bibliotheque au programme. Dans les deux
cas, il y a des chances pour que la quantite de memoire allouee soit
arrondie (de l'OS a la bibliotheque, c'est generalement par page,
de la bibliotheque au programme, c'est par une unite telle que
- les zones sont toujours bien allignees pour tous les types
- il y a toujours moyen de mettre les structures necessaires pour
gerer l'allocation,
en pratique ca fait generalement au moins 2 pointeurs.)
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Tu accedes a de la memoire que tu as liberees, c'est pas autorise.
Oui je sais mais je m'attendais à un segmentation fault
En pratique la memoire est toujours allouee a ton processus, donc tu peux toujours ecrire dedans et la lire. Mais tu risques de demolir des structures de donnees de la bibliotheque (par exemple celle gere new/malloc) ou les tiennes (si elle t'a ete reallouee pour autre chose).
t[2] = 123;
Tu accedes a de la memoire pas allouee, c'est pas autorise.
idem
De meme, la memoire est generalement allouee en deux temps: de l'OS a la bibliotheque et de la bibliotheque au programme. Dans les deux cas, il y a des chances pour que la quantite de memoire allouee soit arrondie (de l'OS a la bibliotheque, c'est generalement par page, de la bibliotheque au programme, c'est par une unite telle que - les zones sont toujours bien allignees pour tous les types - il y a toujours moyen de mettre les structures necessaires pour gerer l'allocation, en pratique ca fait generalement au moins 2 pointeurs.)
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
nico
En pratique la memoire est toujours allouee a ton processus, donc tu peux toujours ecrire dedans et la lire. Mais tu risques de demolir des structures de donnees de la bibliotheque (par exemple celle gere new/malloc) ou les tiennes (si elle t'a ete reallouee pour autre chose).
t[2] = 123;
Tu accedes a de la memoire pas allouee, c'est pas autorise.
idem
De meme, la memoire est generalement allouee en deux temps: de l'OS a la bibliotheque et de la bibliotheque au programme. Dans les deux cas, il y a des chances pour que la quantite de memoire allouee soit arrondie (de l'OS a la bibliotheque, c'est generalement par page, de la bibliotheque au programme, c'est par une unite telle que - les zones sont toujours bien allignees pour tous les types - il y a toujours moyen de mettre les structures necessaires pour gerer l'allocation, en pratique ca fait generalement au moins 2 pointeurs.)
A+
OK merci pour les infos.
-- nico
En pratique la memoire est toujours allouee a ton processus, donc
tu peux toujours ecrire dedans et la lire. Mais tu risques de
demolir des structures de donnees de la bibliotheque (par exemple
celle gere new/malloc) ou les tiennes (si elle t'a ete reallouee
pour autre chose).
t[2] = 123;
Tu accedes a de la memoire pas allouee, c'est pas autorise.
idem
De meme, la memoire est generalement allouee en deux temps: de l'OS a
la bibliotheque et de la bibliotheque au programme. Dans les deux
cas, il y a des chances pour que la quantite de memoire allouee soit
arrondie (de l'OS a la bibliotheque, c'est generalement par page,
de la bibliotheque au programme, c'est par une unite telle que
- les zones sont toujours bien allignees pour tous les types
- il y a toujours moyen de mettre les structures necessaires pour
gerer l'allocation,
en pratique ca fait generalement au moins 2 pointeurs.)
En pratique la memoire est toujours allouee a ton processus, donc tu peux toujours ecrire dedans et la lire. Mais tu risques de demolir des structures de donnees de la bibliotheque (par exemple celle gere new/malloc) ou les tiennes (si elle t'a ete reallouee pour autre chose).
t[2] = 123;
Tu accedes a de la memoire pas allouee, c'est pas autorise.
idem
De meme, la memoire est generalement allouee en deux temps: de l'OS a la bibliotheque et de la bibliotheque au programme. Dans les deux cas, il y a des chances pour que la quantite de memoire allouee soit arrondie (de l'OS a la bibliotheque, c'est generalement par page, de la bibliotheque au programme, c'est par une unite telle que - les zones sont toujours bien allignees pour tous les types - il y a toujours moyen de mettre les structures necessaires pour gerer l'allocation, en pratique ca fait generalement au moins 2 pointeurs.)
A+
OK merci pour les infos.
-- nico
Marc Boyer
nico wrote:
Je ne comprends pas pourquoi ca s'execute sans problème et surtout que ca renvoie ca :
Tu utilises de la mémoire que tu as libéré. Tant que personne ne la réutilise, il n'y a pas de problème. C'est un peu comme un hotel sans femme de ménage: si tu continues à occuper ta chambre après l'avoir officiellement quitté, tant que personne ne tente d'y entrer, ça va.
Marc Boyer -- Je ne respecte plus le code de la route à vélo depuis une double fracture due au fait que j'étais le seul à le respecter.
nico wrote:
Je ne comprends pas pourquoi ca s'execute sans problème et surtout que ca
renvoie ca :
Tu utilises de la mémoire que tu as libéré. Tant que personne ne
la réutilise, il n'y a pas de problème.
C'est un peu comme un hotel sans femme de ménage: si tu continues
à occuper ta chambre après l'avoir officiellement quitté, tant que
personne ne tente d'y entrer, ça va.
Marc Boyer
--
Je ne respecte plus le code de la route à vélo depuis une double fracture
due au fait que j'étais le seul à le respecter.
Je ne comprends pas pourquoi ca s'execute sans problème et surtout que ca renvoie ca :
Tu utilises de la mémoire que tu as libéré. Tant que personne ne la réutilise, il n'y a pas de problème. C'est un peu comme un hotel sans femme de ménage: si tu continues à occuper ta chambre après l'avoir officiellement quitté, tant que personne ne tente d'y entrer, ça va.
Marc Boyer -- Je ne respecte plus le code de la route à vélo depuis une double fracture due au fait que j'étais le seul à le respecter.