简单问题:有没有办法确定函数的堆栈大小?
int stackframe_size(int run) {
int i ;
if(!run) {
return ((int)(&i) - stackframe_size(++run));
}
return (int)(&i);
}
int main() {
int x, y;
double d;
char c;
int a = 4;
int b = 5;
int we = 6;
int e = 123123;
int hmm = 34453;
int lol = 45;
int asd = 23;
x = 1;
y = g(x);
d = f(x, y, x-y);
c = 'a';
printf("%d", stackframe_size(0));
}
我正在运行我从另一个线程获得的函数来查找调用堆栈大小,它似乎总是返回48 ...是否有其他方法可以找到或者这是唯一的方法?