IMAC 1
Projet de C :

La page relative au projet de programmation se trouve ici.

Infographie :

Les travaux dirigés d'infographie sont ici. Le projet est ici.

Exercices :

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.


libMlv :

Une petite note sur l'installation de la libMlv est accessible à partir d'ici.

Le cast du malloc :

A propos du cast de la valeur de retour de malloc.

Libération de la mémoire et système :

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).

Utilisation d'emacs :

Quelques conseils pour emacs :

  • Pour activer la molette sous emacs téléchargez ce fichier et ajoutez son contenu à la fin de votre fichier de configuration ~/.emacs. À l'aide de la commande cat emacs-wheel >> ~/.emacs par exemple.
  • On copie en sélectionnant et on colle avec un clique sur le bouton du milieu (ou la molette).
  • On coupe en sélectionnant puis en double cliquant sur le bouton de droite.
  • Quelques raccourcis clavier :
    • Sauvegarder: Ctrl-xs
    • Ouvrir: Ctrl-xf
    • Annuler: Ctrl-_
    • Chercher: Ctrl-s
    • Remplacer: Ctrl-Shift-%
    • Remplacer, mode expression régulière: Ctrl-Alt-Shift-%
  • La commande/macro en cours apparaît dans la barre en bas, vous pouvez l'annuler avec Ctrl-g
  • Activer la coloration syntaxique se fait dans le menu "Options", "Syntax Highlighting" puis "Options" "Save Options" pour ne pas avoir à le refaire à chaque fois.
  • L'indentation d'emacs avec les tabulations bloquées est très pratique !