Can a 32bit process access more memory on a 64bit windows OS?

前端 未结 4 1562
无人及你
无人及你 2021-01-02 15:18

From what I understand, a 32bit process can only access 2GB of memory on 32bit windows without the /3GB switch, and that some of that memory is taken up by the OS for its ow

4条回答
  •  醉梦人生
    2021-01-02 16:10

    Newer versions of Visual Studio have a new flag which make 32-bit apps "big address space aware". Basically what it does is say that if it's loaded on a 64-bit version of windows, then it will get 4GB (the limit of 32-bit pointers). This is certainly better than the 2 or 3 GB you get on 32-bit versions of windows. See http://msdn.microsoft.com/en-us/library/aa366778.aspx:

    Most notably it says:

    Limits on memory and address space vary by platform, operating system, and by whether the IMAGE_FILE_LARGE_ADDRESS_AWARE value of the LOADED_IMAGE structure and 4-gigabyte tuning (4GT) are in use. IMAGE_FILE_LARGE_ADDRESS_AWARE is set or cleared by using the /LARGEADDRESSAWARE linker option.

    Also see: http://msdn.microsoft.com/en-us/library/wz223b1z.aspx

提交回复
热议问题