Maison >développement back-end >C++ >Directives de prétraitement C/C++
En C ou C++ on trouve différentes lignes commençant par le symbole (#). C'est ce qu'on appelle des directives de prétraitement. Ces lignes sont traitées lors de l'étape de prétraitement avant la compilation du code. Ici, nous verrons trois types différents de directives de prétraitement. Il s'agit de -
Parfois, nous définissons certaines macros dans notre programme. Utilisez des directives de compilation conditionnelle. Nous pouvons vérifier si la macro est définie. Nous pouvons également les contrôler. Ainsi, si une macro est définie, certaines tâches sont exécutées, sinon d'autres tâches similaires sont exécutées.
Les directives de compilation conditionnelle sont similaires à #ifdef-#elif-#else-#endif. Chaque bloc #ifdef doit se terminer par un #endif. #elif ou #else sont facultatifs.
#include <iostream> #define MY_MACRO 10 using namespace std; int main() { #ifdef MACRO cout << "MACRO is defined" << endl; #elif MY_MACRO cout << "MY_MACRO is defined, value is: " << MY_MACRO; #endif }
MY_MACRO is defined, value is: 10
Utilisez les directives de contrôle de ligne en tapant #line. Parfois, nous obtenons des erreurs concernant les numéros de ligne préférés. Nous pouvons utiliser cette commande pour mettre à jour le numéro de ligne. Si nous le plaçons et modifions la ligne actuelle à 200, les lignes suivantes passeront de 201. La directive
#include <iostream> using namespace std; int main() { cout<< "Current line is: " << __LINE__ << endl; #line 200 cout << "Hello" << endl; cout << "World" << endl; cout<< "Current line is: " << __LINE__ << endl; }
Current line is: 5 Hello World Current line is: 202
error est utilisée pour afficher les erreurs avant la compilation. On suppose qu'une macro doit être définie, mais si elle n'est pas définie, un message d'erreur peut s'afficher. Ceci peut être réalisé en utilisant #error.
#include <iostream> using namespace std; int main() { #ifdef MY_MACRO cout << "MY_MACRO is defined, value is: " << MY_MACRO; #else #error MY_MACRO should be defined #endif }
#error MY_MACRO should be defined
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!