Memory 编译时每个程序有多少内存/如何为一个程序分配更多内存?

Memory 编译时每个程序有多少内存/如何为一个程序分配更多内存?,memory,memory-management,stack,Memory,Memory Management,Stack,据我所知,当一个程序编译时,操作系统不知道该程序将使用多少内存,所以它只是给它一个任意数量的内存,比如说200 MB?但是如果是这样的话,小程序不会占用太多不必要的空间吗 如果是这种情况,那么如果一个程序需要超过200MB的内存,会发生什么呢?它如何为一个程序分配更多的空间?我在看这张照片 因此,如果一个程序的内存不足,它必须向上扩展,但在这个程序之上不会有另一个程序吗

据我所知,当一个程序编译时,操作系统不知道该程序将使用多少内存,所以它只是给它一个任意数量的内存,比如说200 MB?但是如果是这样的话,小程序不会占用太多不必要的空间吗

如果是这种情况,那么如果一个程序需要超过200MB的内存,会发生什么呢?它如何为一个程序分配更多的空间?我在看这张照片

因此,如果一个程序的内存不足,它必须向上扩展,但在这个程序之上不会有另一个程序吗