Maison  >  Article  >  développement back-end  >  En langage C, que signifie la compilation conditionnelle ?

En langage C, que signifie la compilation conditionnelle ?

WBOY
WBOYavant
2023-09-05 17:29:05667parcourir

En langage C, que signifie la compilation conditionnelle ?

Dans le langage de programmation C, il existe plusieurs instructions qui contrôlent la compilation sélective du code du programme. Ils sont les suivants −

  • #if
  • #else
  • #elif
  • #endif

La forme générale de #if est la suivante −

#if constant_expression
   statement sequence
#endif

#else fonctionne de la même manière que le mot-clé C else.

#elif signifie "sinon si" et établit une chaîne de compilation if else-if.

Entre autres choses, #if fournit une alternative au code « commenter ».

Par exemple,

#if 0
   printf("#d", total);
#endif

Ici, le compilateur ignorera printf("#d", total);

#ifdef et #ifndef

#ifdef signifie "si défini" et se termine par #endif.

#ifdef signifie "si non défini".

#undef

#undef supprime une définition préalablement définie.

#line

#line modifie le contenu de __LINE__, qui contient le numéro de ligne du code actuellement compilé, et de __FILE__, qui est une chaîne contenant le nom du fichier source en cours de compilation. Ces deux identifiants sont prédéfinis dans le compilateur.

#pragma

La directive #pragma est une directive définie par l'implémentation qui permet de fournir diverses directives au compilateur.

Exemple

Ce qui suit est un programme CExemple démontrant #ifdef, #ifndef, #else et #endif-

Live Demo

# include <stdio.h>
# define a 10
void main(){
   #ifdef a
   printf("</p><p> Hello I am here..");
   #endif
   #ifndef a
   printf("</p><p> Not defined ");
   #else
   printf("</p><p> R u There ");
   #endif
}

Output

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Hello I am here..
R u There

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer