
Ich arbeite momentan an einem umfangreicheren Projekt. Hierzu benötige ich relativ viel Speicher (wobei das meiste davon dann quasi im XMS liegt).
Zu der Umgebung, in der das Programm läuft:
- 640K konventioneller RAM
- davon 311 K frei
- freier Speicher ist am Stück und liegt immer an den selben Adressen
Das Problem ist, Pascal wirft mir unverständlicherweise irgendwie weniger Speicher aus, als ich haben müsste:
TPC an der Kommandozeile sagt:
1289 Lines, 26144 Code, 48458 data
Compiliere ich unter der IDE kommt unter dem Menüpunkt "Information":
Code: 57264
Data: 48524
Stack: 4096
Die Exe-Größe deckt sich mit dem, was TPC sagt.
Halten wir also fest:
311K frei
abzüglich Stack 4K
abzüglich Data 48K
abzüglich Code 26K
abzüglich Speicher über GETMEM ins. 133K
Rest: 100K
Allerdings sagt Pascal zu mir, es wären nur 2K Restspeicher - ich musste Code-Teile schon entfernen, damit GETMEM keinen Runtime-Error auslöst. Hab ich was übersehen oder verbraucht Pascal irgendwo für irgendwas nochmal zusätzlich Speicher?
(Das Abschalten von Overflow/Stack-/Range-Check bringt nochmals ca. 5K)
Ansonsten sind meine Compiler-Optionen: Emulate 8087, 286-Befehle an und Word-Align an.
Könnte es am Word-Align liegen? (Daten sind eigentlich nur eine Handvoll Word-/Byte-Vars, 4 Strings und ein großes Word-Array).