Delphi 2007 IMAGE_FILE_LARGE_ADDRESS_AWARE

时间:2011-10-19 14:24:42

标签: delphi memory delphi-2007

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

所以我添加了

{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}

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

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

E2003 Undeclared identifier: 'IMAGE_FILE_LARGE_ADDRESS_AWARE'

我做错了什么?

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

由于

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:5)

  

另外,在Windows 7 64bit上,我是否需要使用该命令的启动设置来处理,或者只是使用该命令编译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上,32位应用程序标有   IMAGE_FILE_LARGE_ADDRESS_AWARE标志有4 GB的地址空间   可用。