如果在32位可执行文件中没有给出LARGEADDRESSAWARE开关,则可以使用2GB内存(给予或接受)。当可执行文件的PE标志中存在交换机LARGEADDRESSAWARE时,此限制可以是(如果我错了,请纠正我):
我的问题是:如何确定此内存限制(使用和/或不使用LARGEADDRESSAWARE标志)?作为旁注:上面列出的可能性是正确的吗?
注意:我对进程使用的内存量不感兴趣,也不是因为外部效应造成的限制,只是在理想情况下我可以分配的最大内存量。
答案 0 :(得分:3)
我认为最好的方法是致电GetSystemInfo
并根据lpMinimumApplicationAddress
和lpMaximumApplicationAddress
计算出您需要的内容。您可以简单地从后者中减去前者以获得可用的总可寻址内存空间。
各种可能性的三个要点是正确的。