gee a écrit :
je dois écrire une fonction d'allocation de mémoire qui l'alignera suivant la valeur envoyée (avec la fonction free qui va avec bien sûr) mais j'ai du mal à comprendre le principe.
|
Ce que tu veux faire n'est pas portable.
En effet, soit il s'agit d'un alignement propre à ta machine at dans ce cas, malloc() fourni déjà le bon alignement pour tout type d'objet C possible.
Mais si il s'agit d'un alignement 'physique' pour de la DMA ou un composant electronique particulier, par exemple, il faut faiire ton propre allocateur. En effet, les adresses vues de l'utilisateur n'ont absolument rien à voir avec les adresses physiques, du moins sur mes machines avec MMU (c'est le cas quasiment partout, y compris en embarqué).
Je pense qu'il y a un problème de conception.
Explique ce que tu veux faire exactement et surtout pourquoi.
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/