Comment visualiser la sortie produite par le pré-processeurC, avant sa conversion en fichier objet?
Je veux voir ce que les définitions MACRO font sur mon code.
gcc -E file.c
ou
g++ -E file.cpp
fera cela pour vous. Le commutateur -E oblige le compilateur à s’arrêter après la phase de prétraitement, en crachant tout ce qu’il a actuellement sur la sortie standard.
Note: Vous devez sûrement avoir quelques directives #include. Les fichiers inclus sont également prétraités, de sorte que vous pouvez obtenir beaucoup de sortie.
Pour Visual C++, le commutateur est/E qui crache la sortie du préprocesseur à l'écran.
Pour GCC,
gcc -E -dM file.c
ou
g++ -E -dM file.cpp
devrait faire le travail. -dM, comme GNU Manuel du préprocesseur le met , devrait générer une liste de directives ‘#define’ pour toutes les macros définies lors de l’exécution du préprocesseur, y compris les macros prédéfinies.
Vous pouvez également appeler directement le préprocesseur C.
cpp infile outfile
Consultez man cpp
pour plus d'informations.
Cela dépend du compilateur que vous utilisez.
Avec GCC, vous pouvez spécifier le drapeau -E
sur la ligne de commande pour permettre au compilateur de produire la sortie pré-processeur.
Vous pouvez consulter mon script décrit ici:
http://mosermichael.github.io/cstuff/all/projects/2011/09/16/preprocessor.html
Il formate la sortie du préprocesseur en un document HTML lisible (espérons-le): les lignes qui sont différentes en raison du préprocesseur sont marquées dans le fichier.