c - 如何计算程序的内存大小?

标签 c memory variables stack size

假设我有一个 C 程序,其中仅使用堆栈变量,没有动态变量(malloc,...)

是否可以计算我的程序在运行时将占用多少内存?

最佳答案

它不仅取决于此处所述的操作系统和编译器。

一般来说根本不可能提前确定。

例如,如果您使用递归调用,则必须知道这些调用的参数,并且如果某些参数依赖于用户输入或其他不可预测的事物,则最终会导致非常复杂的计算,而无法提前进行计算.

当然,您可以做出一些最坏的情况,但通常大多数问题的上限是无限的。

因此,只有当您的程序非常简单且线性时,您才可以这样做。

关于c - 如何计算程序的内存大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1665335/

相关文章:

memory - 操作系统在内存中的位置

c# - 从内存中释放 CSharpCodeProvider 生成的代码

java - 理解 list[i-1] 与 list[i]-1

php - 在 URL 末尾追加变量 - PHP

c - 仅使用按位运算符实现逻辑非(除了!)

c - struct 内部的 sizeof struct

Linux:如何获取进程使用的交换空间?

java - 有没有办法使 IF 语句中定义的变量在语句本身之外可见并可用?

c - 在 C 程序中使用 Struct 和 strlen 进行数学运算

c - AIX 上没有/usr/lib/64 吗?