onilink_

GM Strings

May 28th, 2020
415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. Comment mémoriser les strings:
  2. - dans les variables
  3. - sur la stack (variable de stack)
  4.  
  5. Possibilité 1:
  6. - on a un pointeur du string dans la variable
  7. => De fait on peut utiliser la tagged union mais il faut bien
  8. faire attention au niveau des allocs/desallocs
  9.  
  10. - on a un pointeur du string sur la stack:
  11. - soit c'est une copie et donc ce pointer est l'owner
  12. - soit on a un pointeur non owner et le string est localisé dans
  13. une variable d'instance
  14.  
  15. Possibilité 2 (pas besoin d'union):
  16. Les strings sont dans une tableau spécial a part, et on utilise uniquement
  17. des indexes vers ce tableau.
  18. Probleme: comment gérer les allocs/deallocs ?
  19.  
  20. Allouer un string:
  21. - il faut une liste des cellules non allouées (les "trous"), que l'on
  22. update a chaque fois qu'on detruit un string. Si cette liste est vide on
  23. agrandis le tableau, sinon on utilise le premier element dispo.
  24.  
  25. Desallouer un string: trivial
  26.  
  27. Gérer les variable string sur la stack: comme predecemment deux façons de
  28. faire (aucune idée de comment c'est géré dans GMS):
  29. - quand on push on fait une copie
  30. - quand on push on donne une "reference"
Advertisement
Add Comment
Please, Sign In to add comment