Possible Duplicate:
executing assembly within a function in c++
long getesp() {
__asm__("movl %esp,%eax");
}
void main() {
printf("%08X\n",getesp()+4);
}
为什么在设置堆栈之前打印esp?(在pushl%ebp,movl%esp,%ebp之前)
提前致谢
最佳答案
我的猜测:不需要框架,因此没有在getesp中分配。具体情况取决于您使用的编译器和编译器标志。