1

Voilà, j'ai un programme qui fait un malloc(64). On me dit que ce programme ne libère pas correctement la mémoire, pourtant les malloc() et les free() sont correctement balancés. Est ce que cette allocation de 64 octets pourrait en être la cause ? N'y a-t-il pas de problèmes à allouer une zone de mémoire trop petite ? J'avais cru entendre parler de cela...
merci d'avance

2

y faut pas mettre malloc(63) par hasard ???
En HIBERNATION !
C'est une façon pour moi de dire merde à la société :D

MERCI sBibi ENCORE ET ENCORE POUR ...

From Grenoble.

3

non. C'est bien 64 octets qui seront alloués. Il faut vérifier que chaque handle est libéré.
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

4

je me demande s'il n'y a pas un minimum de 8 octets pour les HeapAlloc...
vu que malloc, c en gros la même chose (mis à part le fait que ça retourne un pointeur au lieu d'un Handle...)....

Mais pas sûr...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

5

Je ne pense pas que les 64 octets soient le problème. Demande à tes utilisateurs s'ils ont bien effacé l'historique de l'écran HOME.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

Apparament oui, et la différence est tout de même assez énorme (quelques dizaines de ko). Parfois même ils ont une indication de mémoire négative, ce qui conforte l'idée d'un bug. Je me souviens que sur les TI92 1, la gestion mémoire était complètement buggée.
Bon je vais le virer de toutes façons.

7

Est-ce que tu créer des fichiers dans la VAT ? Si c'est le cas, il faut vérifier que les 2 premiers octets contienent bien la taille réelle, sinon le calcul de la mémoire plante...

De plus le bloc alloué a effectivement une taille minimale, c'est pour ça que si vous faites plusieurs malloc, réécrivez la fonction malloc pour allouer plus de place, et donc économiser des handles. Par exemple, allouer 5 fois plus de mémoire, comme ça, les 4 fois suivantes seront exemptes d'appels...

Il existait aussi un problème de ce genre quand j'utilisais DOORSOS, ma bataille navale ne llibérait pas toute la mémoire... et pourtant, j'avais qu'un handle, donc pas de problème, mais je lançais à partir de DOORS, donc il peut peut-être y être pour quelque chose...
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

8

Attendez l'Azur, sa fonction malloc n'est pas buguée tongue
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.