Page 3 sur 3

Re: Chaine de caractère et HEAPALLOC

Publié : jeu. 12/avr./2012 6:27
par Backup
mad a écrit : Donc dans une procédure, il est possible d'allouer sur la pile directement
ce qui reste logique , dans une procedure tout est Local
donc tout est empilé :)

je pense que le premier Heapalloc , doit etre une securité pour etre sur d'avoir un emplacement
au cas ou , faudrait demander ça a Fred , qui sera le plus a meme de repondre a ça :)

lorsqu'on genere le code assembleur par le compilo de Purebasic
il y a une librairie Heap qui semble inclue dans le source a chaque fois ...
ça doit etre un minimum requit pour un exe fait par Fasm ( l'assembleur sous-couche de Purebasic )
Mais bon 1000€ la licence je crois...
oui ben pour ma part , l'utiliser 3 fois de temps en temps , ça va rester comme ça :lol:

Re: Chaine de caractère et HEAPALLOC

Publié : jeu. 12/avr./2012 8:04
par djes
J'ai pas de débog installé là, mais je me demande (comme Dobro?) si le heapalloc n'est pas appelé que la première fois. Moi c'est ce que j'aurais fait à la place de Fred : réservation de l'espace mémoire au premier appel (ou à la déclaration) et puis réutilisation. Mais peut-être qu'il n'a pas voulu s'emmerder avec ça.

Re: Chaine de caractère et HEAPALLOC

Publié : jeu. 12/avr./2012 12:29
par mad
Salut Djes,

Enfait Ce qu'a montré Dobro, c'est que, effectivement, il alloué au lancement du programme 4096 octets, en faisant sont heapalloc. Nous voyons, même dans l'exemple de Dobro, qu'il il alloue sur le tas d'où la notion de source

Image

Car effectivement, le programme par défaut et hors fonction alloue dès que l'on utilise un type string une page de 4Ko par défaut.

Donc a ce moment là, il n'a pas besoin de faire une variable automatique.

Mais il compte quand même, car la taille est fixé...

Image


Par contre c'est différent lors dans une fonction...