16 Jan
2004
16 Jan
'04
10:31
Philipp Thomas schrieb: [...]
Nicht der Prozessor legt das fest sondern das Betriebssystem. Und das ABI für Linux auf AMD64 legt fest, das int 32 Bit hat und long 64 Bit, genau wie bei Linux für AXP (Alpha). Hol dir das Dokument von x86-64.org und lies nach, wenn du mir nicht glaubst :)
Ich glaub' dir das schon ;-). Da ich mir dabei ja oft nicht immer ganz so sicher bin, benutze ich in der Regel immer (u)int32_t und (u)int64_t, damit bin ich dann sicher, ob ich nun 64 oder 32 Bit habe.
Andere Betriebssysteme können das anders festlegen. So wird z.B. bei Windows64 nur long long 64 Bit haben, wohl aus Kompatibilitätsgründen.
Mir scheint, Linux ist da die einzige Ausnahme, bzw. das einzige OS, das es logisch macht ;-) Bastian