我希望我的应用程序能够使用超过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位应用程序,它会自动执行其他所有操作?
由于
答案 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的地址空间 可用。