Re: Maximum Executable Size?
- From: "Alisdair Meredith" <alisdair.meredith@no-spam-splease@uk.renaultf1.com>
- Date: 1 Apr 2005 17:54:08 -0800
Larry Maturo wrote:
> I have heard the maximum executable size on Win32 is 4 gigs. Is this
> correct? If so, what causes this limit? Is there any way around it?
> Does Delphi have an even lower limit? If so, why?
No, the real limit is much lower <g>
Windows is currently a 32 bit technology, so the maximum memory that
can be addresses is limited bt the size of a 32 bit unsigned integer -
and that comes out at 4 Gb. That explains the theoretical upper limit
you were given.
In practice, MS reserve the top 2Gb of this address space for Windows
itself, so this limits you to 2Gb. That is your 'hard' theoretical
limit, but in practice it is less again!
When you run you application it is going to want to load DLLs. These
DLLs will also load into that 2Gb of memory. Even if you write no DLLs
yourself, the Windows OS is implemented as a LOT of DLLs, so you are
going to load a dozen or so of these for a typical program.
Note: There is a switch to tell Windows to make 3Gb or memory avaiable
to your process, but the extra Gb is not contiguous with the lower 2Gb
so you cannot use this to load even bigger exectubles! Although it
will make more data space available.
AlsdairM(TeamB)
.
- References:
- Maximum Executable Size?
- From: Larry Maturo
- Maximum Executable Size?
- Prev by Date: Re: D2005 Update 2 over top of Update 1
- Next by Date: Re: Delphi features for onlie magazine - Win32 or .NET?
- Previous by thread: Re: Maximum Executable Size?
- Next by thread: Re: Maximum Executable Size?
- Index(es):
Relevant Pages
|
Loading