Seite 1 von 1

C++ FAQ #9: Betriebssysteme unterscheiden

Verfasst: Mi Mär 13, 2013 10:48 am
von Xin
Ich räume gerade meine Browser-Tabs auf und stelle fest, dass ich das wohl mal gesucht habe:

C++ FAQ#9: Wie unterscheide ich unterschiedliche Betriebssysteme?

Hiermit kann ich den Tab wohl jetzt schließen. :-)

PS: Und noch eine Ergänzung zum C-Präprozessor: Wieder ein Tab geschlossen :-)

Re: C++ FAQ #9: Betriebssysteme unterscheiden

Verfasst: Mi Mär 13, 2013 12:41 pm
von Kerli
Dazu fällt mir noch http://sourceforge.net/p/predef/wiki/Home/ ein. Übrigens _WIN32 ist für 32- und 64-bit definiert :)

Re: C++ FAQ #9: Betriebssysteme unterscheiden

Verfasst: Mi Mär 13, 2013 2:30 pm
von Xin
Kerli hat geschrieben:Dazu fällt mir noch http://sourceforge.net/p/predef/wiki/Home/ ein. Übrigens _WIN32 ist für 32- und 64-bit definiert :)
Super... jetzt habe ich wieder eine Seite offen. :-/

Guter Link... :-) Das sollte aber eher in Richtung c:pre.

Re: C++ FAQ #9: Betriebssysteme unterscheiden

Verfasst: Di Feb 16, 2021 12:11 pm
von jomaber
der thread ist ja uralt, trotzdem: liefert getOSString() nicht einen dangling pointer?

Re: C++ FAQ #9: Betriebssysteme unterscheiden

Verfasst: Di Feb 16, 2021 12:35 pm
von Xin
jomaber hat geschrieben:
Di Feb 16, 2021 12:11 pm
der thread ist ja uralt, trotzdem: liefert getOSString() nicht einen dangling pointer?
Der gewählte String wird in das Programm einkompiliert und ist unveränderlich. Er ist also nicht Teil der Funktion, sondern ein statischer Datensatz, der beim Laden des Programms in den Speicher kopiert und wird immer genau da sein, wohin der Programmlader das Programm geladen hat. Die Funktion zeigt also bis auf einen gültigen Speicherbereich, bis das Programm beendet und entladen wird.
Es wird nicht auf eine lokale Variable gezeigt.