Betriebssysteme unterscheiden

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Betriebssysteme unterscheiden

Beitrag von naums » So Jan 17, 2010 6:30 pm

Ich muss für meinen INI Maker Betriebssysteme unterscheiden können. Wie unterscheide ich Windows 7 64 bit von 32 bit, und Linux.
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Betriebssysteme unterscheiden

Beitrag von Bebu » So Jan 17, 2010 6:34 pm

Das solltest du beim kompilieren festlegen, zum Beispiel über Präpozessoranweisung. Du könntest auf diese Weise bestimmten Code nur kompilieren lassen, wenn ein bestimmter Schalter definiert ist. Sieh dir doch mal an, wie man bei Headerdateien doppeltes einkopieren verhindert, das Prinzip ist das selbe. C/C++ wird schließlich für jedes Betriebssystem seperat kompiliert.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: Betriebssysteme unterscheiden

Beitrag von naums » So Jan 17, 2010 7:18 pm

na ich meinte mit

Code: Alles auswählen

#ifdef (_Win32)
und solchen Quark nur wei ich nicht, was ich angeben muss, weil ich ein Windows 7 64 Bit habe.
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Betriebssysteme unterscheiden

Beitrag von Kerli » So Jan 17, 2010 7:27 pm

Normalerweise findest du auf http://predef.sourceforge.net/ alles was du brauchst.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Betriebssysteme unterscheiden

Beitrag von Dirty Oerti » So Jan 17, 2010 7:42 pm

Und sollte irgendwas dort mal nicht angegeben sein, dann kannst du die Defines auch manuell festlegen.

Code: Alles auswählen

//#define WINDOOFS //Auskommentieren, wenn für WIndows compiliert wird
//#define TUX //Auskommentieren, wenn für Linux compiliert wird



#ifdef WINDOOFS
//...
#endif


#ifdef TUX
//...
#endif

Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Antworten