#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. ]