如何启用我的32位Delphi应用程序在64位窗口(通过Wow64.exe)使用4gb的内存? [英] How can I enable my 32-bit Delphi application to use 4gb of memory on 64-bit windows (via Wow64.exe)?

查看:276
本文介绍了如何启用我的32位Delphi应用程序在64位窗口(通过Wow64.exe)使用4gb的内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据此 MSDN页面


WOW64允许32位应用程序
利用64位内核。
因此,32位应用程序可以使用
更多的内核句柄和
窗口句柄。然而,32位
应用程序可能无法创建
与WOW64下的许多线程一样,因为
可以在基于x86的
系统上本机运行,因为WOW64分配
每个线程额外的64位堆栈(通常为512
KB)。另外,一些
的地址空间是为WOW64本身保留的
和它使用的数据
结构。金额
保留取决于处理器;如果应用程序有
IMAGE_FILE_LARGE_ADDRESS_AWARE标志$ b $,则
保留在Intel Itanium
上,而不是在x64处理器上保存。

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.

b设置在图像头中,每个32位
应用程序在WOW64
环境中接收到4 GB的虚拟
地址空间。如果
IMAGE_FILE_LARGE_ADDRESS_AWARE标志为
未设置,则每个32位应用程序
将在WOW64环境中接收2 GB的虚拟地址空间

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.

如何在我的Delphi 2007应用程序中有效地设置IMAGE_FILE_LARGE_ADDRESS_AWARE标志,以便我可以使我的32位应用程序Wow64 知道一个完整的4GB内存?

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?

推荐答案

请参阅CodeCentral文章:在32位Delphi程序中使用超过3 GB的内存

See this CodeCentral article: Using more than 3 GB memory in a 32 bit Delphi program.

这篇关于如何启用我的32位Delphi应用程序在64位窗口(通过Wow64.exe)使用4gb的内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆