我是stackoverflow和C / C ++的新手。
[在Windows中进行编程实验时,我注意到一个进程可以分配多少内存有一定限制,我想知道如何扩展它。
谢谢您的帮助
[知道多少内存可用,这实际上取决于您所使用的环境:您正在运行什么OS的代码,是16位还是32位或64位内存体系结构?
例如,如果您在Windows 10上运行代码,则可以使用GlobalMemoryStatusEx()工具GlobalMemoryStatusEx。
malloc
之类的可以为您分配内存的函数,它们也可能会失败。在这种情况下,它们将返回nullpoiter
而不会分配一个字节,否则它将分配所请求的内存。它将分配所请求的所有内存或失败而不会分配。
,但是也有内存限制,可以使用。
例如,Windows 7 64位将只允许您为程序访问8 GB(这很有可能),即使您有更多的可用内存。
也请检查此getrlimit, setrlimit - control maximum resource consumption