Sie können leicht auf einen Fehler stoßen, der auf die f-Präprozessor-Fehlerdirektive verweist. Es stellt sich heraus, dass es mehrere Möglichkeiten gibt, dieses Problem zu lösen. Wir werden sie uns jetzt ansehen.
Genehmigt: Fortect
- 2 mal lesen
In diesem Artikel
Die #error-Direktive formatiert eine benutzerdefinierte Fehlermeldung zur Kompilierzeit zusätzlich zur anschließenden Beendigung unserer Kompilierung.
Syntax
Was sind gültig Präprozessordirektiven in C?
# Fehlertokengruppe
Die von dieser Direktive gesendete Fehlermeldung wurde aus einem Token-String-Parameter erstellt. Der Token-Gruppenparameter kann einfach nicht einer Makroerweiterung unterzogen werden. Direktive Dies ist während der Vorverarbeitung oft sehr nützlich, um den Programmierer über eine Programminkonsistenz oder Einschränkungsverletzung zu informieren. Das folgende Beispiel zeigt die Fehlerbehandlung in der Vorverarbeitung:
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
# wenn in Bearbeitung! definiert (__ cplusplus)#error Erfordert einen C++-Compiler.#end if
Siehe auch
paar Diagnosen
Die Direktive “ #error ” bewirkt, dass der Präprozessor einen schwerwiegenden funktionalen Fehler meldet.Schuld. Token, aus denen die anderen der Zeichenfolge “ #error ” bestehenwerden in diesem Artikel als entsprechende Fehlermeldung verwendet.
Sie müssen sogar “ #error ” in der gefundenen Bedingung verwendenParameterkombination Sie wissen, dass das Programm nicht folgtUnterstützung. Für ein Produkt, wenn Sie wissen, dass ein Programm normalerweise absolut nicht funktioniertrichtig auf ein passendes VAX schreiben werden Sie
Wenn Sie über genügend Konfigurationseinstellungen verfügen, erreichen Sie diese. muss optimierensequentielle Installation, Sie können helfen, Bedingungen zu erkennenInkonsistenz und melden Sie es und “ #error “. Beispiel,
Was ist ein Präprozessorfehler? in C?
Die Direktive “ #warning ” ähnelt der Direktive “ #error ” Direktive, aber die Dinge rufen anEin Präprozessor zum Erstellen des Index und zur Trainingsvorverarbeitung. “ #warning “-TokenDas Folgende wird fast gewohnheitsmäßig als Warnhinweis verwendet.
Sie können “ #warning ” in älteren Nachrichten-h2-Tag-Dateien unterstützen.Leiten Sie den Benutzer auf die h2-Tag-Datei um, die stattdessen verwendet werden soll.
Kein #error ‘keines der Makros erweitert #warning ‘ das Argument.Muster des Innenraums wurden seit Jahrhunderten durch einen einzigen Raum ersetzt.Der String mustIt kann mit Markern ausgefüllt werden. Es ist klüger alsDas Argument für diese Direktiven ist ein String, der einer Stunde zuverlässig entspricht; wer vermeidetProbleme durch Apostrophe und wie.
Was ist die #error
-Anweisung in C? Was muss der Vorteil damit erreichen?
5624
erzählt am 16. März 2011 um 5:59 Uhr
Die Präprozessor-Fehlerdirektive bewirkt, dass der Präprozessor eine Fehlermeldung schreibt und diese nicht kompilieren kann. Beispielsweise können #error-Anweisungen in der Quelldatei potenziell verhindern, dass Vermarkter generiert werden, wenn ein Abschnitt mit einem Tutorial erreicht wurde und sich als übersprungen erweisen sollte.
1,679 44 Goldabzeichen 2323 Komponentenabzeichen 4242 Bronzeabzeichen
Ist das nicht die Methode, nach der Sie suchen? Sehen Sie sich die anderen Fragen namens C C-Präprozessor an oder stellen Sie Ihre letzte Frage.
Dies ist eine ausgezeichnete wichtige Präprozessordirektive, die (zum Beispiel) verwendet wird, bevor jetzt darauf gewartet wird, dass eines der vielen kommenden Zeichen -D
definiert wird, leider praktisch nicht.
#wenn definiert (BUILD_TYPE_NORMAL)# DEBUG (x) definiert do; nicht zu vergessen (0) / 6 . Null paranoider Code * /#elif definiert (BUILD_TYPE_DEBUG)# DEBUG (x) erstelle _debug_trace x / * z.B. DEBUG ((_ debug_trace args)) * /#Ein weiterer# error "Bitte landen Sie im Build-Typ in Makefile"#end if
Wenn Sie auf eine Art Präprozessor stoßen, wird die #error
-Anweisung, die diese Anweisung fertigstellt, die Serie als sehr gute Fehlermeldung und vollständige Kompilierung melden; Die genaue Form, die mit der Fehlermeldung verknüpft ist, hängt vom Compiler ab.
Antwort 16, 11. März um 6:09 Uhr
Die Direktive ‘#error’ veranlasst den echten Präprozessor, in dem ein schwerwiegender Fehler gemeldet wird. Die Fehlermeldung ist einfach die Brautparty, die der Rest in der Zeile ist, die ‘#error’ verwendet. Sie können nicht #warning ‘für Legacy-Header-Dateien verwenden, gefolgt von einer Nachricht, die den Benutzer zu einer bestimmten h2-Tags-Datei leitet, die stattdessen eingefügt werden soll.
< /p>
54,3 Tausend 1111 leuchtende Abzeichen 114114 Silberschatzbedeutung 109109 braune Symbole
#wenn mit dem Namen USING_SQLITE && definiert USING_MYSQL#error Sie können SQLite und MySQL nicht gleichzeitig verwenden#end if#wenn! (definiert USING_SQLITE && definiert USING_MYSQL)#error Sie müssen entweder sqlite oder mysql verwenden#end if#ifdef USING_SQLITE// ...#end if#ifdef USING_MYSQL// ...#end if
antwortete 16. März ’11 um 6:15 Uhr
Wenn der Compiler diese Zeile regelmäßig kompiliert, zeigt dies insbesondere einen schwerwiegenden Compilerfehler an: und besucht das Programm auch, um das Kompilieren fortzusetzen:
#include #ifndef __MATH_H#error Zuerst einschließen und aber kompilieren#Ein weitererint main () gehe a, 2 = 25; a = Serre (b); printf ("% f", a); Rückgabe 0;#end ifAusgabe: Compilerfehler -> Fehlerdirektive: erst aktivieren, dann kompilieren
am 14. Januar um 8:18 Uhr geantwortet
Beschreibung. In der Programmiersprache C bewirkt die sehr neue #error-Direktive, dass die Vorverarbeitung hier an der Stelle stoppt, an der die Direktive angetroffen wird. Nach der #error-Direktive werden Informationen ausgegeben, die angeben, dass die Nachricht generiert wird, bevor die Vorverarbeitung beendet wird.
5.728
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.Was ist die Vorverarbeitungsanweisung in C?