程序调用过程
来源:互联网 发布:网络安全法展板 编辑:程序博客网 时间:2024/06/02 05:00
调用子函数的过程
主函数工作
参数入栈
顺序与虚参数在参数列表相反。int fun(int a, int b),b先,a后。
返回值入栈
此时,返回值还没有,位置先占住。
设置,保存返回地址
入栈返回地址,函数从子函数返回时,继续从这里执行。
跳转
eip=子函数入。
子函数工作
建栈
入栈当前ebp。
给ebp赋值,新的ebp要指向被调函数的栈底。所以,将当前函数栈顶地址esp直接赋值于ebp是最好的选择。
……执行子函数
参考文献
1.《编译系统透视:图解GCC编译器工作机制与实现原理》,新设计团队,机械工业出版社;
阅读全文
0 0
- 程序调用过程
- 通过程序调用存储过程
- c#程序调用存储过程
- linux 程序的调用过程
- Java 程序调用存储过程
- 存储过程中调用JAVA程序段
- 程序调用存储过程,有问题仅供参考
- 存储过程中调用JAVA程序段
- 存储过程中调用JAVA程序段
- Java程序调用存储过程应用举例
- 浅谈c程序函数调用过程
- Oracle存储过程中调用JAVA程序
- 程序调用存储过程并不立即返回
- 可执行程序调用dll过程的反编译
- 关闭程序窗口函数调用过程
- java程序去调用orcale存储过程
- JAVA程序调用MYSQL存储过程
- java程序调用mysql存储过程
- PostgreSQL入门(三)PostgreSQL数据类型&运算符
- codeforces 868C Qualification Rounds
- codeforces 868B Race Against Time
- 洛谷P1993 小K的农场(差分约束)
- codeforces 868A Bark to Unlock
- 程序调用过程
- Computer Network Basic
- Linux进程简述
- 移植Qt与Tslib到X210开发板的体会
- 移植tslib和Qt5.6到三星s5pv210开发板
- vector 的注意事项 (poj2195 小人进房子 最小费用最大流)
- hdu 1142 A Walk Through the Forest
- 判断两个对象相等 和重写equals、 hashcode
- 比较两对象为什么要重写hashCode()方法