Heim  >  Artikel  >  Backend-Entwicklung  >  C/C++-Vorverarbeitungsanweisungen

C/C++-Vorverarbeitungsanweisungen

王林
王林nach vorne
2023-09-08 16:01:021160Durchsuche

C/C++ 预处理指令

In C oder C++ finden wir verschiedene Zeilen, die mit dem Symbol (#) beginnen. Diese werden Vorverarbeitungsanweisungen genannt. Diese Zeilen werden in der Vorverarbeitungsphase verarbeitet, bevor der Code kompiliert wird. Hier sehen wir drei verschiedene Arten von Vorverarbeitungsanweisungen. Dies sind -

  • Bedingte Kompilierung
  • Zeilensteuerung
  • Fehlerrichtlinie

Manchmal definieren wir einige Makros in unserem Programm. Verwenden Sie Anweisungen zur bedingten Kompilierung. Wir können überprüfen, ob das Makro definiert ist. Wir können sie auch kontrollieren. Wenn also ein Makro definiert ist, werden bestimmte Aufgaben ausgeführt, andernfalls werden andere ähnliche Aufgaben ausgeführt.

Anweisungen für die bedingte Kompilierung ähneln #ifdef-#elif-#else-#endif. Jeder #ifdef-Block muss mit einem #endif enden. #elif oder #else sind optional.

Beispiel

#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
}

Ausgabe

MY_MACRO is defined, value is: 10

Verwenden Sie Zeilensteuerungsanweisungen, indem Sie #line eingeben. Manchmal erhalten wir Fehler bezüglich der bevorzugten Zeilennummern. Mit diesem Befehl können wir die Zeilennummer aktualisieren. Wenn wir es platzieren und die aktuelle Zeile auf 200 ändern, werden die darauffolgenden Zeilen von 201 verschoben.

Beispiel

#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;
}

Output

Current line is: 5
Hello
World
Current line is: 202

error-Direktive wird verwendet, um Fehler vor der Kompilierung anzuzeigen. Es wird davon ausgegangen, dass ein Makro definiert werden sollte. Wenn es jedoch nicht definiert ist, kann eine Fehlermeldung angezeigt werden. Dies kann mit #error erreicht werden.

Beispiel

#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
}

Ausgabe

#error MY_MACRO should be defined

Das obige ist der detaillierte Inhalt vonC/C++-Vorverarbeitungsanweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen