Frage zu "Hello World" Programm... [gelöst]
-
Wenn ich in Kdevelop ein simples "hello world"-Programm erzeugen lasse, steht dort zu Beginn:
#ifdef HAVE_CONFIG_H #include <config.h> #endif
was macht das? wozu brauch ich das? weil es funktioniert ja auch ohne diese zeilen? Wäre über eine kleine Aufklärung sehr erfreut...
Danke, TOm
-
Hallo,
dabei handelt es sich um Makros. In diesem Falle nennt man das bedingte Kompilierung. Falls HAVE_CONFIG_H definiert ist, dann binde config.h ein, ansonsten lass es raus.
http://www.pronix.de/pronix-716.htmlSo kann man z. B. einen Code für Linux und Windows verwenden, da jedes BS eine eigenes Symbol definiert hat, und entsprechend werden dann die Header eingebunden.
Oder Include Guards funktionieren ähnlich, nur dass dort unterschieden, welche Datei den Header einbindet und nicht ob überhaupt.
-
ich danke dir vielmals! wieder was gelernt...
nur eine frage noch: brauch ich die config.h um das prog unter linux oder unter windows laufen zu lassen?
tom
-
Ein helloworld wohl nicht...
-
die frage hat sich nicht auf das programm bezogen, sondern war allgemein gestellt... wo bräuchte ich also die config.h?
tom
-
tomcat22 schrieb:
wo bräuchte ich also die config.h?
Keine Ahnung, der Standard kennt keine config.h. Wo hast du die denn her?
-