Plusieurs traitements réalisés en arrière-plan par les outils de développement, avant la phase de compilation du code source d’un projet, sont inconnus pour le développeur. On peut citer notamment l’inclusion des fichiers ou encore l’utilisation des macros.
CPIP, un préprocesseur C/C++ développé par Paul Ross, ingénieur informatique chez Google, ambitionne de changer cela. L’outil se donne pour mission de démystifier l’ensemble des « prétraitements » qui sont effectués avant la compilation.
Comme tous les préprocesseurs, il permet de réaliser les inclusions de fichiers juste avant la phase de compilation, la définition et le replacement de macros et de constantes symboliques ainsi que la compilation conditionnelle du code source.
Toutefois, CPIP est plus puissant que cela et permet d'enregistrer et visualiser tous les détails de l'opération pour ensuite les afficher à l'utilisateur sous différents formats: code source prétraité, graphe SVG représentant les différentes étapes d'inclusion, arbre coloré représentant le résultat de la compilation conditionnelle, page web affichant les dépendances et définitions de macros ainsi que d'autres informations sous forme de tableaux.
Le but est donc de donner au développeur toutes les informations utiles qui peuvent l'aider lors du débogage, au lieu de considérer cette phase de prétraitement comme un "sale boulot qui doit être fait le plus vite possible" déclare Paul Ross.
CPIP a été développé en Python. La version 0.9.1 est disponible en bêta-test sur SourceForge depuis le 23 septembre dernier sous licence GPLv2. Elle a été testée sous Python 2.7 et 3.3 et est actuellement en cours de refactorisation. La version stable devrait être disponible dans quelques semaines.
Un exemple de précompilation du noyau Linux en utilisant CPIP est disponible sur la page web du projet.
Télécharger la version bêta de CPIP
Pour plus d'information sur le fonctionnement d'un préprocesseur
Source : Le site du projet
Et vous ?
Pensez-vous que ce préprocesseur va vous faciliter la tâche de débogage ?
CPIP : un préprocesseur C/C++ développé sous Python
Pour démystifier les « prétraitements » avant la phase de compilation
CPIP : un préprocesseur C/C++ développé sous Python
Pour démystifier les « prétraitements » avant la phase de compilation
Le , par Amine Horseman
Une erreur dans cette actualité ? Signalez-nous-la !