我正在编写一个性能关键型应用程序,它必须在转储到磁盘之前在物理内存中存储尽可能多的数据。
我可以使用 ::GlobalMemoryStatusEx(...)
和 ::GetProcessMemoryInfo(...)
来找出多少百分比的物理内存是保留\空闲和我当前的进程处理了多少内存。
使用此数据,我可以确保在使用了约 90% 的物理内存或达到每个应用程序最大 2GB 限制中的约 90 个时进行转储。
但是,我想要一种方法来简单地接收在系统开始使用虚拟内存之前实际剩余的字节数,尤其是当应用程序将针对 32 位和 64 位编译时,而 2 GB 的限制不存在。
最佳答案
这个函数怎么样:
int
bytesLeftUntilVMUsed() {
return 0;
}
我认为它应该在几乎所有情况下都给出正确的结果;)
关于c++ - 远离 Windows\C++ 中的虚拟内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1873334/