La page relative au projet de programmation se trouve ici.
Les travaux dirigés d'infographie sont ici. Le projet est ici.
Vous pouvez télécharger la feuille d'exercices de la session de rattrapage du 11 Janvier 2007 ici et la suite se trouve ici. Vous devez maîtriser ces exercices pour la rentrée.
Une petite note sur l'installation de la libMlv est accessible à partir d'ici.
A propos du cast de la valeur de retour de malloc.
Pourquoi, sous Linux, la quantité de
mémoire réservée par un processus ne baisse pas systématiquement
après un appel à free(ptr) ?
L'explication du phénomène tient à la façon dont
Linux gère l'allocation et la
libération de la mémoire par les processus, avec des appels à "mmap/munmap" ou à "sbrk" selon la taille des blocs demandés.
Un "malloc" d'un bloc d'une taille conséquente donne lieu à un appel à
"mmap" et le free(ptr) associé rend effectivement la mémoire au système
via "munmap".
Si le bloc demandé est de petite taille, le mécanisme mis en jeu est
celui du "segment de données/sbrk" et la mémoire n'est rendue au
système que lorsque le processus se termine, même si vous avez libéré
le pointeur avec free() (ce dont je ne doute pas).
Quelques conseils pour emacs :