Delphi 2007 IMAGE_FILE_LARGE_ADDRESS_AWARE

Kin*_*ong 7 memory delphi delphi-2007

我希望我的应用程序能够使用超过2GB的内存,我用Google搜索并发现IMAGE_FILE_LARGE_ADDRESS_AWARE命令允许我这样做.

所以我补充道

{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}
Run Code Online (Sandbox Code Playgroud)

在我的程序的.dpr文件中,在所有用途和{$ R*.res}行之后,

但是当我编译时,我收到错误:

E2003 Undeclared identifier: 'IMAGE_FILE_LARGE_ADDRESS_AWARE'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

此外,在Windows 7 64位上,我是否需要使用此命令的引导设置来处理,或者只是使用该命令编译32位应用程序,它将自动执行其他所有操作?

谢谢

Tri*_*dad 7

实际问题的答案是添加使用单位Windows.


Rom*_* R. 5

此外,在Windows 7 64位上,我是否需要使用此命令的引导设置来处理,或者只是使用该命令编译32位应用程序,它将自动执行其他所有操作?

64位Windows将自动提供4 GB的地址空间,无需启动调整.

http://msdn.microsoft.com/en-us/library/windows/desktop/bb613473%28v=vs.85%29.aspx:

要使应用程序能够使用较大的地址空间,请在映像头中设置IMAGE_FILE_LARGE_ADDRESS_AWARE标志.Microsoft Visual C++附带的链接器支持/ LARGEADDRESSAWARE开关来设置此标志.设置此标志,然后在没有4GT支持的系统上运行应用程序不应影响应用程序.

在64位版本的Windows上,标有IMAGE_FILE_LARGE_ADDRESS_AWARE标志的32位应用程序具有4 GB的可用地址空间.