2011-10-19 22 views
7

Tôi muốn ứng dụng của mình có thể sử dụng bộ nhớ hơn 2GB, tôi đã tìm kiếm và thấy rằng lệnh IMAGE_FILE_LARGE_ADDRESS_AWARE cho phép tôi thực hiện điều đó.Delphi 2007 IMAGE_FILE_LARGE_ADDRESS_AWARE

Vì vậy, tôi đã thêm

{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE} 

Để tập .dpr chương trình của tôi, sau khi tất cả những ứng dụng và {$ R * res} dòng,

nhưng khi tôi biên dịch, tôi nhận được lỗi:

E2003 Undeclared identifier: 'IMAGE_FILE_LARGE_ADDRESS_AWARE' 

Tôi đang làm gì sai?

Ngoài ra, trên Windows 7 64bit, tôi có cần phải làm rối tung các thiết lập khởi động cho lệnh này để làm việc hay biên dịch một ứng dụng 32 bit bằng lệnh và nó sẽ tự động làm mọi thứ khác không?

Cảm ơn

+10

thêm 'sử dụng Windows' –

+2

Cảm ơn, đã hoạt động! – KingOfKong

Trả lời

5

Also, on Windows 7 64bit, do I need to mess around with boot settings for this command to work, or just compile a 32bit application with the command and it will do everything else automatically?

64-bit, Windows sẽ cung cấp không gian địa chỉ 4 GB tự động, mà không cần chỉnh khởi động.

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

To enable an application to use the larger address space, set the IMAGE_FILE_LARGE_ADDRESS_AWARE flag in the image header. The linker included with Microsoft Visual C++ supports the /LARGEADDRESSAWARE switch to set this flag. Setting this flag and then running the application on a system that does not have 4GT support should not affect the application.

On 64-bit editions of Windows, 32-bit applications marked with the IMAGE_FILE_LARGE_ADDRESS_AWARE flag have 4 GB of address space available.

5

Câu trả lời cho câu hỏi thực tế là để thêm vào sử dụng các đơn vị Windows.

Các vấn đề liên quan