32Bit Datentyp zu definieren.
-
Hallo zusammen, ich möchte einen Datentyp definieren, der immer 32Bit breit ist und den ich unter Linux auf x86 wie auch x64 sowie unter WinNT und aufwärts benutzen kann. Hat da jemand schon eine Lösung oder muss ich das mit vielen Präprozessor-Direktiven mir selbst zusammenklamüsern?
Vielen Dank zusammen,
Gruss Christian
-
#include <stdint.h> int32_t signed_int = -10; uint32_t unsigned_int = 10;
-
ooops, das ging schnell!!!
Und die stdint ist auch unter win32 bekannt?Gruss Christian
-
^^stdint gehört zu C99. kommt drauf an, welchen compiler du verwendest. visual studio z.b. ist nicht C99-fähig. pelles-c/watcom/gcc aber schon.
-
~fricky schrieb:
^^stdint gehört zu C99. kommt drauf an, welchen compiler du verwendest. visual studio z.b. ist nicht C99-fähig. pelles-c/watcom/gcc aber schon.
Ahhhchhg, das ist natürlich sch* .. schlecht. Ich muss die Win32-Version eben mit VS implementieren. Dass der sich nicht an den C99-Standart hält habe ich ja schon oft genug mitbekommen.
Also weitersuchen...
Aber trotzdem Danke!
Gruss Christian
-
unter windows gibts sowas wie DWORD,UINT,LONG usw. ist natürlich kein standard.
-
~fricky schrieb:
unter windows gibts sowas wie DWORD,UINT,LONG usw. ist natürlich kein standard.
Ja gut dann kann man das halt mit einem
#ifdef WIN32
umgehen, damit kann ich leben.
Hoffe es klappt.Gruss Christian
-
rüdiger schrieb:
#include <stdint.h> int32_t signed_int = -10; uint32_t unsigned_int = 10;
mich würde jetzt doch sehr interessieren wie die syntax lautet, die garantiert, das int32 und uint32_t 32 bit breit ist.
gruß,
32bit n00b.
-
Hier gibt es Lösungen für Compiler die kein stdint.h haben.
http://en.wikipedia.org/wiki/Stdint.h#Downloads32bit n00b schrieb:
rüdiger schrieb:
#include <stdint.h> int32_t signed_int = -10; uint32_t unsigned_int = 10;
mich würde jetzt doch sehr interessieren wie die syntax lautet, die garantiert, das int32 und uint32_t 32 bit breit ist.
typedef Compilerbuiltintypder32bitgroszist int32_t;
siehe auch hier http://en.wikipedia.org/wiki/stdint.h