M'intéressant à la création de fichiers TI-BASIC, j'ai lu et compris le code suivant dans la documentation de TIGCC :
HSym hsym = SymAdd (SYMSTR ("example"));
// HeapAlloc must be executed before DerefSym
// because of possible garbage collection.
HANDLE handle = HeapAlloc (100);
SYM_ENTRY *SymPtr = (DerefSym (hsym));
MULTI_EXPR *VarPtr = HeapDeref (SymPtr->handle = handle);
Mais à la suite de cet exemple ils ne créent une variable de longueur totale de 4 octets (de données, donc 6 en tout).
Ma question est la suivante : qu'est-ce que la calculette fait des 94 octets restants ? Ma seule théorie est qu'elle les considère automatiquement comme des octets 'poubelle' qui seront libérés lors du prochain garbage collection.
Lorsque l'on alloue un block mémoire, il faut normalement utiliser HeapFree() ou une de ses variantes. Là on ne peut pas l'utiliser, car l'espace mémoire est à présent associé à un fichier global. Ça me tracasserait de perdre 94 octets à chaque fois
