摘要: 编译环境:Windows 10 + VS2015 1、问题 上一篇文章C++函数调用过程解析第3部分执行函数中,说到计算局部变量x和y的地址。在VC6中计算方式分别为[ebp-4]和[epb-8],然而在VS2015中计算方式为[ebp-4-4]和[epb-8-8]。为什么每次计算变量地址时第一个变 阅读全文
posted @ 2021-03-31 18:11 钟齐峰 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 编译环境:Windows 10 + VS2015。 0、引言 函数调用的过程实际上也就是一个中断的过程,本文演示和深入分析参数入栈、函数跳转、保护现场、恢复现场等函数调用过程。 首先对三个常用的寄存器进行说明: EIP:指令指针,即指向下一条即将执行的指令的地址。 EBP:基址指针,常用来指向栈底。 阅读全文
posted @ 2021-03-31 16:41 钟齐峰 阅读(1779) 评论(0) 推荐(0) 编辑