#ifdef funktioniert nicht
-
Java-Progger schrieb:
Könnte es vielleicht sein, daß er die
Präprozessor-Anweisungen ignoriert? Muß ich
die irgendwo extra aktivieren?Kommando zurück! Da hab' ich Blödsinn gefaselt.
Wenn die Präprozessor-Anweisungen nicht eingeschaltet
wären, würde mein gesamtes Programm ja gar nicht
kompilierbar sein. *schäm*Was mache ich bloß falsch?
Ich werd' noch wahnsinnig!!!
(und das kurz vorm Wochenende)
-
Deine int main hat keinen Rückgabewert.
return 0;
-
Danke! Aber daran kann's ja nicht liegen
(Hat keinen Rückgabewert, da das endgültige
Programm auf einem Micro-Prozessor als Endlosschleife
laufen wird)
-
So funktionierts bei mir:
#include <stdio.h> /*Defines für Prozessor*/ #define PC 1 /* Defines für Gebetszeitenberechnung */ #define TAG2005 1827.5 /* 0. Januar 2005 */ int main() { #ifdef PC printf("Hello World\n"); #endif getchar(); return 0; }
-
Und du hast die "Hello World" - Ausgabe auf dem Schirm?
Aber warum klappts dann auf meinem Rechner nicht.
Liegts etwa doch an Dev-CPP?
-
ich nehme wxDev-C++ - damit gehts
-
Die Zeile:
/*Defines für Prozessor/*
bewirkt, dass alles (auch danach) als Kommentar gilt.
Richtig ists so:/*Defines für Prozessor*/
-
*sichindiehintersteeckeverkrümelnderJavaProgger*
(Ein Gentleman genießt und schweigt....)
-
Java-Progger schrieb:
Das würde aber bedeuten, daß ich sämtliche
#if's verändern müßte?ja, denn #if und #ifdef 2 völlig unterschiedliche Makros sind.
Mit #if kannst du Abfragen, ob Makros gleich, größer, kleiner (sprich arithmetisch) sind. Mit #ifdef ob mein Makro definiert ist.
-
kannst auch '#if defined' nehmen