Bonjour ,
Je suis bloque quand à la structure de données utilisable dans cet exercice :
http://cristal.univ-lille.fr/~marque...am/am-004.html
Si quelqu'un pourrait me montrer à quoi ressemblerait la structure de données utilisé
Bonjour ,
Je suis bloque quand à la structure de données utilisable dans cet exercice :
http://cristal.univ-lille.fr/~marque...am/am-004.html
Si quelqu'un pourrait me montrer à quoi ressemblerait la structure de données utilisé
Ta structure de données devra être une liste chaînée. Chaque chaînon sera un en-tête de zone mémoire, contenant au minimum sa taille (taille totale ou taille des données; de toute façon on peut déduire l'un de l'autre en ajoutant/supprimant la taille de l'en-tête) et un pointeur vers la zone suivante. La liste peut aussi être doublement chaînée, mais on peut faire sans.
Quand tu alloues un nouveau bloc avec sbrk(), tu mets un en-tête dans ses premiers octets, puis tu l'ajoutes tout simplement à ta liste de zones mémoire libres.
PS: Attention aux contraintes d'alignement; arrondir chaque taille demandée aux 8 octets supérieurs devrait suffire à résoudre ce problème.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager