Hintergrund: Ich schreibe ein 2-Wege-Installationssystem (Verpackung der Installationsdatei/und entpacken und installieren der Installationsdatei) Ich benutze BDiff und BPatch (https://github.com/delphidabbler/bdiff). I integriert, um den Diff-Code in meine Anwendung, so kann ich Fortschritte anzuzeigen ...Delphi: Ich brauche neues Wissen (es gibt altes Wissen) auf, wie man meine Win32 App 4 GB Speicher auf 64bit Windows
Die Einschränkungen: 32bit ... Delphi 10.1 Berlin, meine 7-Zip-Lösung und meine crc Lösung braucht beide 32-Bit-ausführbar.
Das Problem: Speicher. Ich werde normalerweise 5 Diffe von etwa 40-50Mb je diff differieren (der Diff, erfordert jedoch viel mehr Speicher als 2 * Dateigröße), mein Threadpool funktioniert nur mit 3 Threads aktiv, sonst bekomme ich out-of-memory Fehler, das passiert ~ Runde 1,5 GB RAM verwendet
Die Ressourcen, die alle versprechen Lösung, konnte aber keine
http://cc.embarcadero.com/item/24309
Using IMAGE_FILE_LARGE_ADDRESS_AWARE 32bit - 64bit
an die Arbeithttp://docwiki.embarcadero.com/RADStudio/Seattle/en/PE_(portable_executable)_header_flags_(Delphi)
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Linking
Mein Compiler nicht erkennt
{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}
ich [DCC32 Error] MaitreD.dpr (45): E2003 nicht deklarierter Bezeichner: 'IMAGE_FILE_LARGE_ADDRESS_AWARE'
Aber was noch beunruhigender ist, ist http://cc.embarcadero.com/item/24309 hat ein D2009 Beispiel, das Sie herunterladen können, und das, mit dem gleichen
{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}
kompiliert mit dem gleichen RAD Studio, so dass ich dachte, es irgendeine Einstellung ist, dass es Standard geändert hatte und dass das Beispiel Delphi-Projekt (wobei der Linker-Richtlinie arbeitet), haben andere als diese Standardeinstellungen;
Schließlich ist die eigentliche Frage Wie in Delphi 10.1 Berlin, ich meine 32-Bit-app voll, 4gb, die Verwendung von Speichern geben (Ich brauche weniger als das, aber mehr als die normalerweise begrenzte Menge)?
würden die anonymen downvoters erklären? Ich bemühe mich sehr, die Frage so klar wie möglich zu formulieren, oder nimmst du eine Absage, weil ich dumm bin? Jeder könnte diese Einheit vermissen – chillum
Meine Vermutung ist, dass die Down-Stimmen sind, weil die Mehrheit der Beiträge, die Sie verknüpfen, um die Lösung zu erklären. Es lohnt sich, Fehlermeldungen genau zu lesen und zu lernen, sie zu verstehen. Dieser ist ziemlich klar. Die Konstante ist nicht definiert. Die nächste Frage ist, wo sie definiert ist. –
Ich wusste nicht, dass Compiler/Linker-Direktiven in einer Datei enthalten sind, die du in deine uses-Klausel aufnehmen kannst. Für mich war offensichtlich, dass meine Einstellungen meiner Umgebung irgendwie geändert werden mussten (weil Compiler/Linker im eigentlichen RAD-Studio verwendet wird) (also nach/new/knowledge fragen), nicht nur eine andere Datei einschließen – chillum