Ich habe eine alte Anwendung für 32-Bit-Windows XP, die nur 2 GB RAM auf meinem 64-Bit-Windows 10-System zuweisen kann. Da diese Anwendung mehr als 2 GB RAM zu verwenden versucht, wenn eine große Datenmenge speichern, ich bin wie dieser eine Out of Memory Exception bekommen:Zuweisen von mehr RAM ohne Neukompilierung
Out of memory 8 addresses: (unknown)(0): Worldbuilder.exe+825384 (unknown) (unknown)(0): Worldbuilder.exe+798965 (unknown) (unknown)(0): Worldbuilder.exe+793330 (unknown) (unknown)(0): Worldbuilder.exe+793277 (unknown) (unknown)(0): Worldbuilder.exe+799637 (unknown) (unknown)(0): Worldbuilder.exe+666356 (unknown) (unknown)(0): Worldbuilder.exe+664774 (unknown) (unknown)(0): Worldbuilder.exe+723505 (unknown) Because of the severity of this error the game will now exit.
Hinweis: Der Quellcode der Anwendung ist nicht verfügbar.
Ich sah auch einige Werkzeuge, die dieses Problem beheben, die Anwendung ohne zu 4 GB RAM zuweisen, indem ermöglicht mit der Anwendung neu zu kompilieren, wie Large Address Aware.
Meine Frage ist jetzt: Wie können diese Werkzeuge dies erreichen?
Hinweis: Ich verwende Windows 10 64-Bit mit den Programmiersprachen C++/C. Ich habe auch noch keinen Code, da ich nicht einmal weiß, wie das in der Theorie funktioniert.
Es ist nur ein einzelnes Bit in der [ausführbare Datei header] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms680313 (v = vs.85) .aspx), umdrehen auf IMAGE_FILE_LARGE_ADDRESS_AWARE ist alles was es braucht. Nimmt 5 Zeilen Code. –