À retenir
- Il intervient avant la transformation finale en langage machine.
- Il manipule principalement du texte et des fichiers.
- Il permet de rendre le code plus flexible et modulaire.
Un pré-compilateur est un outil informatique qui intervient juste avant l'étape de compilation pour préparer le code source. Il agit comme un assistant qui « nettoie » ou transforme le texte du programme (en remplaçant des raccourcis par du code complet, par exemple) afin que le compilateur puisse faire son travail correctement.
Étymologie
Le terme est composé du préfixe latin prae- (« avant ») et de compilateur (du latin compilare, signifiant « piller » puis « rassembler »). Il désigne littéralement l'étape qui précède le rassemblement des instructions en un fichier exécutable.
Exemples d'usage
- Le préprocesseur du langage C ou C++ qui gère les instructions commençant par
#(comme#include). - Les outils de SQL embarqué qui transforment des requêtes de base de données en appels de fonctions compréhensibles par un compilateur standard.
- Certains outils de traitement de modèles (templating) qui génèrent du code source à partir de fichiers de configuration.
Cas d'usage
On l'utilise principalement pour gérer des constantes globales, inclure des fichiers de bibliothèques externes, ou adapter le code selon le système d'exploitation (compilation conditionnelle) sans avoir à réécrire tout le programme.
Bonnes pratiques
Il est recommandé de ne pas trop abuser des macros complexes via le pré-compilateur, car cela peut rendre le débogage très difficile (les erreurs signalées par le compilateur ne correspondront pas toujours visuellement à ce que vous avez écrit dans votre fichier d'origine).
Synonymes
Antonymes
Conseil
Si vous débutez, voyez le pré-compilateur comme un système de 'rechercher et remplacer' automatique et intelligent qui prépare votre terrain de travail avant la grande transformation du code.
Questions fréquentes
Quelle est la différence avec un préprocesseur ?
Dans l'usage courant, les deux termes sont souvent synonymes. Le préprocesseur est toutefois le terme technique privilégié pour des langages comme le C.
Le pré-compilateur crée-t-il le fichier .exe ?
Non, il génère simplement une version intermédiaire du code source. C'est le compilateur et le lieur qui créent le fichier final.