Plan du chapitre
Ce chapitre présente les outils de la distribution d'Objective CAML qui
permettent l'interaction entre Objective CAML et C en créant des exécutables
contenant des parties développées dans les deux langages. Ces outils
contiennent les fonctions de conversion des valeurs des deux langages,
permettent une allocation en C sûre qui utilise le tas Objective CAML et
son GC, et autorisent le déclenchement d'exceptions Objective CAML en C.
La première section montre comment utiliser une fonction C en Objective CAML
et comment construire des exécutables et des toplevels incluant
un programme C contenant cette fonction. La deuxième section explore
la représentation des valeurs Objective CAML en C. La troisième section
explique comment créer et modifier des valeurs Objective CAML en C. Elle
détaille d'autre part les problèmes soulevés par l'allocation mémoire de C
en présence du GC d'Objective CAML et comment profiter de ce mécanisme pour avoir une allocation sûre en C.
La quatrième section décrit la gestion des exceptions, leur déclenchement et
leur récupération selon le lieu de la rupture de calcul.
La cinquième section inverse les rôles en incluant du code Objective CAML
dans un programme principal C.
Remarque
La lecture de ce chapitre nécessite de connaître un tant soit peu le
langage C. De même la lecture du chapitre 9 est utile
pour la compréhension des difficultés liées à la récupération
automatique de mémoire.