Le Sat, 29 Sep 2012 17:01:30 +0200 Bzzz <lazyvi...@gmx.com> a écrit:
> Qu'est-ce que tu entends par "par le haut", une pile est une pile; > après suivant qu'elle soit LIFO ou FIFO c'est la logique du niveau > juste au-dessus de ton morceau de code qui détermine ça - et que les > adresses de ses éléments soient croissantes ou décroissantes ou > aléatoires n'a que peu d'incidence (sauf en cas de débordement du > segment). > Ce n'est pas mon code, c'est le code de camllight que j'essaye de débugguer. Il y a un «heap» plaquée sur l'allocation usuelle (mais non obligatoire de malloc: Une adresse de fin de zone fixe (heap_start) et une adresse de début de zone variable (notons la heap_end), on a donc head_end < heap_start. Lors d'un besoin, un malloc(taille_demandée) est fait et renvoit *généralement* et pas obligatoirement comme l'a souligné Erwan un pointeur valant head_end - taille_demandée. C'est vrai que ça marche souvent, ça marche de façon bizarre si je fais une suite malloc-free-malloc au lieu de malloc, mais c'est clair que c'est non satisfaisant. Il y a donc comme solutions * réecrire tout le bazar: avec ocaml, c'est peut être idiot * se contenter de ma rustine... bof. * essayer de voir si il y a moyen d'assurer un mécanisme faisant grossir le «heap» tel que voulu. François Boisson -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/20120929174724.8ebaf3f7dd58c89a0dee6...@maison.homelinux.net