Variable unix
-
Hallo,
gibt es unter Unix eine vordefinierte Variable mit dem Namen unix?
Wenn man folgende Anweisung ausführt, wird eine 1 ausgegeben.printf("%d", unix);
Des Weiteren kann man selbst keine Variable deklarieren, die den Namen unix hat. In einer Windowsumgebung ist beides ohne Probleme möglich.
Ist diese Variable immer 1? Gibt es noch mehr solcher Variablen? Weiß jemand darüber bescheid?mfg
rolsch
-
Das ist ein vordefiniertes Präprozessormakro. Damit kann man dann sowas machen:
#ifdef unix SomeUnixSystemCall(); #endif
Da das nicht ANSI-C-konform ist (es muss möglich sein, eine Variable unix zu nennen), kann man das auch abschalten. Ich bin mir ziemlich sicher, dass der gcc mit -ansi das nicht mehr kennt. Dafür vielleicht __unix__ o.ä.
-
Ja, du hast recht. Mit der Option -ansi beim gcc klappt es nicht mehr.
Da weiß ich jetzt wenigstens, woran ich bin.Danke für die Antwort
rolsch