32 位模式下 C/C++ 程序到底可以用多少内存(三)

2014-11-24 11:02:53 · 作者: · 浏览: 7
) 失败,内存溢出
√ malloc(1283457024) 通过
√ new char[1283457024] 成功
√ VirtualAlloc(NULL, 1283457024, ..) 成功
√ buf1 malloc(1283457024) 通过
× buf2 malloc(1283457024) 失败
√ 1 VirtualAlloc(NULL, 1283457024, ..) 成功
× 2 VirtualAlloc(NULL, 1283457024, ..) 失败
测试申请 1.293G 内存
× 1 alloca(1388314624) 失败,内存溢出
√ malloc(1388314624) 通过
√ new char[1388314624] 成功
√ VirtualAlloc(NULL, 1388314624, ..) 成功
√ buf1 malloc(1388314624) 通过
× buf2 malloc(1388314624) 失败
√ 1 VirtualAlloc(NULL, 1388314624, ..) 成功
× 2 VirtualAlloc(NULL, 1388314624, ..) 失败
测试申请 1.391G 内存
× 1 alloca(1493172224) 失败,内存溢出
√ malloc(1493172224) 通过
√ new char[1493172224] 成功
√ VirtualAlloc(NULL, 1493172224, ..) 成功
√ buf1 malloc(1493172224) 通过
× buf2 malloc(1493172224) 失败
√ 1 VirtualAlloc(NULL, 1493172224, ..) 成功
× 2 VirtualAlloc(NULL, 1493172224, ..) 失败
测试申请 1.488G 内存
× 1 alloca(1598029824) 失败,内存溢出
√ malloc(1598029824) 通过
√ new char[1598029824] 成功
√ VirtualAlloc(NULL, 1598029824, ..) 成功
√ buf1 malloc(1598029824) 通过
× buf2 malloc(1598029824) 失败
√ 1 VirtualAlloc(NULL, 1598029824, ..) 成功
× 2 VirtualAlloc(NULL, 1598029824, ..) 失败
测试申请 1.586G 内存
× 1 alloca(1702887424) 失败,内存溢出
√ malloc(1702887424) 通过
√ new char[1702887424] 成功
√ VirtualAlloc(NULL, 1702887424, ..) 成功
√ buf1 malloc(1702887424) 通过
× buf2 malloc(1702887424) 失败
√ 1 VirtualAlloc(NULL, 1702887424, ..) 成功
× 2 VirtualAlloc(NULL, 1702887424, ..) 失败
测试申请 1.684G 内存
× 1 alloca(1807745024) 失败,内存溢出
× malloc(1807745024) 失败
× new char[1807745024] 失败
× VirtualAlloc(NULL, 1807745024, ..) 失败
× buf1 malloc(1807745024) 失败
× buf2 malloc(1807745024) 失败
× 1 VirtualAlloc(NULL, 1807745024, ..) 失败
× 2 VirtualAlloc(NULL, 1807745024,