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


Anmelden zum Antworten