53得票4回答
在Linux中有没有一种方式可以保留但不提交内存?

Windows有VirtualAlloc,它允许您保留一段连续的地址空间,但实际上不使用任何物理内存。稍后,当您想要使用它(或其中的一部分)时,可以再次调用VirtualAlloc来提交先前保留页面的区域。 这实际上非常有用,但我最终想将我的应用程序移植到Linux-因此如果以后无法移植,我...

14得票3回答
如何在Windows上立即检测堆栈损坏错误?

我睡不着! :) 我在Windows上做了一个相当大的项目,遇到了一些堆栈损坏的问题。我已经阅读了所有的Stack Overflow(SO)内容,包括这个不错的话题:如何调试堆栈损坏错误?,但是没有什么能够立即帮助我解决问题。 Debug CRT 和 BoundsChecker 检测到了堆栈...

8得票1回答
VirtualAlloc MEM_COMMIT and MEM_RESERVE

我对VirtualAlloc有些困惑, 我们可以使用MEM_RESERVE来保留内存,然后使用MEM_COMMIT来提交它,但是当使用以下两个函数时我有些困惑: m_pvData = VirtualAlloc(NULL, m_nBuffSize, MEM_COMMIT, PAGE_READ...

7得票1回答
使用VirtualAlloc在大型数组上预留内存与提交+预留内存相比的优势

我正在编写一个与非常大的数组一起工作的C++程序。在Windows上,我使用VirtualAlloc为我的数组分配内存。现在我完全理解了使用VirutalAlloc保留和提交内存之间的区别;但是,我想知道将内存逐页提交到保留区域中是否有任何好处。特别是,MSDN(http://msdn.mic...