Pointer auf 64bit-System nur 4 Bytes groß?
-
#include <stdio.h> int main() { printf("%d\n",sizeof(void *)); return 0; }
Ausgabe:
4
Wie kann das sein? Ich benutze ein 64bit-System! Müssten da Pointer nicht 8 Bytes groß sein?
-
Ich schätze mal, dass das damit zusammenhängt, wie du dein Programm kompilierst.
-
Jo, du hast das als 32-bit Programm kompiliert.
-
Ich hab das ganze einfach mit dem gcc (Mingw) kompiliert.
Vielleicht erstellt der auch 64-bit Systemen standardmäßig 32-bit code.
Wie ich mit dem gcc 64-bit Programme erstelle, hab ich leider noch nicht rausgefunden.
-
Mit -m64, aber MinGW kann das glaube ich nicht.
-
cooky451 schrieb:
Mit -m64, aber MinGW kann das glaube ich nicht.
gcc schrieb:
sorry, unimplemented: 64-bit mode not compiled in
-