假设我有一个 C 程序,其中仅使用堆栈变量,没有动态变量(malloc,...)
是否可以计算我的程序在运行时将占用多少内存?
最佳答案
它不仅取决于此处所述的操作系统和编译器。
一般来说根本不可能提前确定。
例如,如果您使用递归调用,则必须知道这些调用的参数,并且如果某些参数依赖于用户输入或其他不可预测的事物,则最终会导致非常复杂的计算,而无法提前进行计算.当然,您可以做出一些最坏的情况,但通常大多数问题的上限是无限的。
因此,只有当您的程序非常简单且线性时,您才可以这样做。
关于c - 如何计算程序的内存大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1665335/