I am currently in process of making our application Large Address Aware. As experience has shown, there are some unexpected gotchas when doing so. I create this post to make a complete list of steps which need to be taken.
中列出的开发注意事项
AMD Large Address Aware guide
提供一个良好的起点,但决不完整:
The following considerations will help to make sure that the code can handle addresses larger than 2GB:
-
避免使用有符号指针算法(即比较和加法)
-
指针使用所有32位。不要将bit31用于其他用途。
-
Some dllâs will be loaded just under the 2GB boundary. In this case, no consecutive memory can be allocated with VirtualAlloc().
-
因此,问题是:
当C++Win32本地应用程序知道大地址时,需要做什么事情的完整清单?