#ifdef _LINUX ?



  • Gibt es eine Moeglichkeit um zu erkennen welches Betriebssytem der Anwender benutzt (z.B. um Pfadangaben zu crosscompilen)

    [ Dieser Beitrag wurde am 30.01.2003 um 15:27 Uhr von Psycho_Dad editiert. ]



  • #include <stdio.h>
    
    int main()
    {
    #ifdef __unix__
            printf("Compiled on a UNIX host\n");
    #endif
    
    #ifdef __linux__
            printf("Compiled on a Linux host\n");
    #endif
    
    #ifdef __sun__
            printf("Compiled on a SunOS/Solaris host\n");
    #endif
    
    #ifdef __hpux__
            printf("Compiled on a HP-UX host\n");
    #endif
    
    #ifdef __aix__
            printf("Compiled on a RS6000/AIX host\n");
    #endif
    
    #ifdef __osf__
            printf("Compiled on a DEC/OSF host\n");
    #endif
    }
    

    Ist aber wenig empfehlenswert. Ich würde eher nach __unix__ schauen und dann, wenn dies gesetzt ist, mit uname(2) arbeiten, weil macros natürlich nur auskunft geben, wo was compiliert wurde, nicht, wo es genutzt wird.

    [ Dieser Beitrag wurde am 30.01.2003 um 15:40 Uhr von virtual editiert. ]


Anmelden zum Antworten