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

C/C++-Vorverarbeitungsanweisungen

王林
Freigeben: 2023-09-08 16:01:02
nach vorne
1175 Leute haben es durchsucht

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
}
Nach dem Login kopieren

Ausgabe

MY_MACRO is defined, value is: 10
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Output

Current line is: 5
Hello
World
Current line is: 202
Nach dem Login kopieren

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
}
Nach dem Login kopieren

Ausgabe

#error MY_MACRO should be defined
Nach dem Login kopieren

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

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage