[fpc-pascal] Maximum of memory which can be used by single program in 32 bit Windows
LacaK
lacak at zoznam.sk
Thu May 19 08:46:57 CEST 2016
>> another question: is there any limit in FPC, which causes that only cca
>> 1GB of memory can be used by FPC ?
> No, but there is one that limits to 2GB.
Yes
>
> With {$peflags $20} in the main file that is increasable to 3GB (reportedly 4GB for 32-bits
> apps under 64-bit windows, but I never tested that)
Wow I never heared about such option.
This are my results:
(compiled application is Win 32 bit)
Before I have used this flag:
Win7 32 bit with 4GB RAM: Out of memory at approx. 1 GB
Win7 64 bit with 4GB RAM: Out of memory at approx. 1 GB
After I have used this flag:
Win7 32 bit with 4GB RAM: Out of memory at 1 GB (no difference)
Win7 64 bit with 4GB RAM: Success! (application consumes approx 1.8
GB RAM, 1GB remains free)
Strange, does not ?
Why I still encounter 1 GB limit and not 2 GB without {$setpeflag $20} ?
Why on Win32 I still get Out of memory also with {$setpeflag $20} , but
not on Win64 ?
Take into account, that both OSes have 4GB RAM and application is same.
According to
https://msdn.microsoft.com/en-us/library/windows/desktop/aa366778%28v=vs.85%29.aspx
it should be 2GB on 32bit and 4GB on 64bit Windows with
*IMAGE_FILE_LARGE_ADDRESS_AWARE*
-Laco.
More information about the fpc-pascal
mailing list