Maison > développement back-end > C++ > Directives de prétraitement C/C++

Directives de prétraitement C/C++

王林
Libérer: 2023-09-08 16:01:02
avant
1205 Les gens l'ont consulté

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 -

  • Compilation conditionnelle
  • Contrôle de ligne
  • Directive d'erreur

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.

Exemple

#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
}
Copier après la connexion

Sortie

MY_MACRO is defined, value is: 10
Copier après la connexion

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

Exemple

#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;
}
Copier après la connexion

Output

Current line is: 5
Hello
World
Current line is: 202
Copier après la connexion

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.

Exemple

#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
}
Copier après la connexion

Sortie

#error MY_MACRO should be defined
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal