According to this MSDN page:
WOW64 enables 32-bit applications to
take advantage of the 64-bit kernel.
Therefore, 32-bit applications can use
a larger number of kernel handles and
window handles. However, 32-bit
applications may not be able to create
as many threads under WOW64 as they
can when running natively on x86-based
systems because WOW64 allocates an
additional 64-bit stack (usually 512
KB) for each thread. In addition, some
amount of address space is reserved
for WOW64 itself and the data
structures it uses. The amount
reserved depends on the processor;
more is reserved on the Intel Itanium
than on the x64 processor.
If the application has the
IMAGE_FILE_LARGE_ADDRESS_AWARE flag
set in the image header, each 32-bit
application receives 4 GB of virtual
address space in the WOW64
environment. If the
IMAGE_FILE_LARGE_ADDRESS_AWARE flag is
not set, each 32-bit application
receives 2 GB of virtual address space
in the WOW64 environment.
How do I effectively set the IMAGE_FILE_LARGE_ADDRESS_AWARE flag in my Delphi 2007 application so that I can make my 32-bit application Wow64 aware and address up to a full 4GB of memory?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…