在 C 和 C + + 这样的编程语言中,人们经常提到静态和动态内存分配。我理解这个概念,但是“所有内存都是在编译时分配(保留)的”这句话总是让我感到困惑。
据我所知,编译可以将高级 C/C + + 代码转换为机器语言,并输出一个可执行文件。如何在编译后的文件中“分配”内存?内存不是总是在 RAM 中分配的吗? 所有的虚拟内存管理都是这样的?
根据定义内存分配不是一个运行时概念吗?
如果我在 C/C + + 代码中创建一个1KB 的静态分配变量,那么可执行文件的大小会增加相同的数量吗?
这是在标题“静态分配”下使用短语的页面之一。