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 -
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.
#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
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.
#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-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.
#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
Das obige ist der detaillierte Inhalt vonC/C++-Vorverarbeitungsanweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!