我们需要用这个标志链接我们的一个可执行文件,因为它使用了大量的内存。
但是为什么要对一个EXE文件进行特殊处理呢?为什么不在/LARGEADDRESSAWARE上实现标准化呢?
所以问题是:即使你不需要/LARGEADDRESSAWARE,使用它也有什么错吗?为什么不把它作为所有EXE文件的标准?
发布于 2010-02-18 21:05:56
因为许多遗留代码都期望“负”指针是无效的。32位进程的前两Gb中的任何内容都设置了msb。
因此,对于微软来说,采取安全措施要容易得多,并且需要(a)需要完整的4 4Gb和(b)已经在大内存情况下开发和测试的应用程序,以简单地设置标志。
正如你已经注意到的,这并不难。
Raymond Chen -在他的博客The Old New Thing中-涵盖了为所有(32位)应用程序打开它的问题。
https://stackoverflow.com/questions/2288728
复制相似问题