[Windows 7] Switch zwischen 64/32 bit Adressraum

Dieses Thema im Forum "Windows" wurde erstellt von dlx_immortal, 22. Dezember 2009 .

Schlagworte:
  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
     
  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...
     
  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
     
  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
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.