函数反汇编疑惑
一个c函数反汇编后
前三行一般是:
push ebp
mov ebp,esp
sub esp,8
第三行我没法理解
主要是那个“8”
我试了下
这个数不是固定的
有时候是48
有时候是14
等等
请问
这个数是干嘛的
怎么确定这个数的?
要不要理会?
[解决办法]
这个数是干嘛的 -〉在栈中分配8字节的局部变量空间
怎么确定这个数的?-〉按局部变量所需空间大小确定
要不要理会?-〉一般不用
[解决办法]
有些是编译器特有的行为,一般是分配局部val。
[解决办法]
VC的Debug配置编译时会多分配一些额外的空间,用Release编译就不会有多余的了。
[解决办法]