OVH Cloud OVH Cloud

Stoquer des objets de taille 8

21 réponses
Avatar
Marc Boyer
J'aurais besoin de stoquer (en mémoire) une liste dynamique
d'objets O de taille 8.

La solution "liste chainée" est couteuse, dans le sens ou
l'overhead mémoire est de "sizeof(*O)" qui vaut vite 4
(sans compter que malloc il doit bien utiliser un peu
de mémoire quelque part pour se souvenir qu'il a alloué
ce bout de mémoire là).

J'avais donc pensé à une solution ou l'on alloue des
tableaux, et on chaine les tableaux.

Je dois pas être le premier à penser à ça, vous avez
des pointeurs ?

Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(

1 réponse

1 2 3
Avatar
Bertrand Mollinier Toublet
Laurent Wacrenier wrote:
Bertrand Mollinier Toublet écrit:

Je viens d'ecrire un "tableau dynamique". Basiquement, c'est un tableau,
encapsule dans une structure, qui croit au fur et a mesure que tu
ajoutes des objets. Si ca t'interesse, le code est en ligne sur
http://www.bmt.dnsalias.org/employment, rubrique projets, tout en bas de
la page.



http://www.bmt.dnsalias.org/employment-files/dyn_array.c

Le problème, avec realloc(), c'est que tu ne peux pas stoquer dans ta
table de pointeurs qui sont référencés par ailleurs.


Tu veux dire des objets qui sont references par ailleurs ? En effet. De
toute facon, les objets contenus dans la table sont une copie des objets
passes, si bien qu'ils ne sont pas vraiment referencables par ailleurs.

Je ne vois pas bien ton probleme. Je t'ai mal compris ?

--
Bertrand Mollinier Toublet
"No sea vivo, Buendia" -- El presidente del tribunal,
in Cien anos de soledad, de Gabriel Garcia Marquez


1 2 3