如何使用16GB ram分配大量内存?请提供一个简单的C / C ++程序作为示例。
E.g。
main()
{
// (10 gigabytes) / (4 bytes) = 2 684 354 560
int *hugearray = malloc( 2684354560 * sizeof(int) );
}
......显然这不起作用。
答案 0 :(得分:7)
malloc()
确实会分配内存,但是大多数操作系统只会给你一个虚拟地址空间,直到你真正尝试在该内存中读取或写入,此时它们将开始分配后备物理或交换内存。您只需要将一些垃圾值循环写入内存。