Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch für Linux, Unix und Windows
– 2., aktualisierte und erweiterte Auflage 2006
Buch: C von A bis Z

C von A bis Z
1.116 S., mit CD, Referenzkarte, 39,90 Euro
Galileo Computing
ISBN 3-89842-643-2
gp Kapitel 12 Präprozessor-Direktiven
  gp 12.1 Einkopieren von Dateien mittels #include
  gp 12.2 Makros und Konstanten – #define
    gp 12.2.1 Symbolische Konstanten mit #define
    gp 12.2.2 Makros mit #define
  gp 12.3 Bedingte Kompilierung
  gp 12.4 Vordefinierte Präprozessor-Direktiven (ANSI C)
  gp 12.5 Ersetzung eines Makroparameters durch einen String
  gp 12.6 #undef – Makronamen wieder aufheben
  gp 12.7 Ausgeben von Fehlermeldungen – #error
  gp 12.8 #pragma


Galileo Computing - Zum Seitenanfang

12.7 Ausgeben von Fehlermeldungen – #error  toptop

Mit

#error "Fehlermeldung"

wird eine Stringkonstante Fehlermeldung in der entsprechenden Zeile ausgegeben. Zum Beispiel:

/* nicht_fertig.c */
#include <stdio.h>
#include <stdlib.h>
#define FERTIG
int main(void) {
   printf("Programmstart!\n");
#ifdef FERTIG
   #error "Das Programm ist noch nicht fertig gestellt!!\n"
#endif
   printf("Programmende");
   return EXIT_SUCCESS;
}

Wenn Sie versuchen, das Programm zu kompilieren, wird folgende Fehlermeldung des Compilers ausgegeben:

Das Programm ist noch nicht fertig gestellt!!

Das Programm lässt sich somit auch nicht kompilieren. Damit kann z.B. vermieden werden, dass ein noch nicht ganz fertig gestellter bzw. nicht fehlerfreier Codeabschnitt verwendet wird. Das kann bei einem Projekt, an dem mehrere Leute arbeiten, praktisch sein. Aber es lassen sich damit auch Fehlermeldungen ausgeben, die im Zusammenhang mit der Expansion von Makros festgestellt wurden. Zum Beispiel:

/* nicht_gerade.c */
#include <stdio.h>
#include <stdlib.h>
#define MAX 101
int main(void) {
   printf("Programmstart\n");
#if (MAX % 2) == 1
   #error "symb. Konstante MAX muss eine gerade Zahl sein!\n"
#endif
   printf("Programmende\n");
   return EXIT_SUCCESS;
}

Dieses Programm lässt sich erst übersetzen, wenn Sie der symbolischen Konstante MAX einen geraden Wert übergeben.

 << zurück
  
  Zum Katalog
Zum Katalog: C von A bis Z
C von A bis Z
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-Programmierung


Zum Katalog: C/C++






 C/C++


Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Reguläre Ausdrücke






 Reguläre Ausdrücke


Zum Katalog: Linux






 Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de