#1 22. Dezember 2009 Switch zwischen 64/32 bit Adressraum Hallo, ich habe w7 64 bit und 3gb ram. Ja ich weiß, dass 64bit ab 4gb sinnvoll sind, darum geht es primär nicht. Es geht darum herauszufinden, wie der Adressraum unter w7 64bit verwaltet wird, obwohl man <4gb ram hat. Ich hab hier einfach ein paar int Pointer in C gemacht und hab sie mir ausgeben lassen. Die Pointer sind 32bit Adresse auf einem 64bit System. Das Gleiche habe ich auf Ubuntu9.10 in VirtualMachine gemacht (dort habe ich 1GB Arbeitspeicher gesetzt). Die Pointer sind auch 32bit Adressen. MAX_INT ist ebenfalls auf beiden Systemen 32bit Zahl. Nun zu meiner Frage. Kann es sein, dass 64Bit Systeme es nicht einsehen auf 64Bit Adressverwaltung umzuschalten, wenn sie erkennen, dass es nicht sinnvoll ist (<4GB RAM)? Intuitiv würde ich diese Frage mit einem klaren "Ja" beantworten, dennoch wollte ich mal nachfragen, ob es der "richtige" Weg war Adressraum herauszufinden oder ob es vlt andere Möglichkeiten gibt, diese Vermutung zu bestätigen. mfg dlx_immo + Multi-Zitat Zitieren
#2 22. Dezember 2009 AW: Switch zwischen 64/32 bit Adressraum ich denke es ist einfach ein Fehler von Windoof... Wäre ja nicht der erste...^^ Bau einfach mal dein ganzes Ram ein und teste es nochma... + Multi-Zitat Zitieren
#3 22. Dezember 2009 AW: Switch zwischen 64/32 bit Adressraum Solange du nur x86 Apps erstellst, hast auch nur einen 32-bit Pointer Vllt. solltest du mal anfangen für x64 zu kompilieren? x64-Betriebssysteme stellen den Modus ein, für den das Programm geschrieben wurde. Protected Mode für x86, Long Mode für x64. mfg r90 + Multi-Zitat Zitieren
#4 22. Dezember 2009 AW: Switch zwischen 64/32 bit Adressraum Ich glaube du hast nicht ganz meine Frage verstanden. Das Erklärt natürlich meine Vermutung, daher eine weitere Frage. Ich möchte in x86 asm ein kleines Programm schreiben und dies später zu einem C Programm linken. Müsste ich dafür ein W7 32bit (virtual machine) aufsetzen oder würde es theoretisch auch auf 64Bit laufen? Da dort mit Pointer gearbeitet wird, welche als Basisregister verwendet werden, wüsste ich auf Anhieb nicht, ob diese in einem x64 system richtig interpretiert werden. mfg dlx_immo + Multi-Zitat Zitieren