void func(int a) {if (a > 100000000) return;int arr[100] = {0};func(a + 1);}
从进程、线程到函数调用
函数执行的活动轨迹:栈
A Box
控制转移
我从哪里来 (返回)
函数A对于的机器指令执行到了哪里 (我从哪里来,返回)
call 0x400540传递参数与获取返回值
局部变量
Big Picture
void func(int a) {if (a > 100000000) return;int arr[100] = {0};func(a + 1);}void main(){func(0);}
不要创建过大的局部变量
总结
长按识别二维码关注
往期精选
扫码关注
码农的荒岛求生
Send to Author