问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

函数的返回地址是什么意思

发布网友 发布时间:2022-04-22 05:53

我来回答

2个回答

热心网友 时间:2022-07-19 05:11

函数的返回地址

      函数调用时通过一个指向函数的指针指向函数的地址,函数返回时将回归到调用处,那个地方是返回地址。

获取返回地址

       在某些情况下,我们需要在一个函数里获取这个函数的返回地址,用来定位一些东西。在x86的C/C++里,一般函数调用形式不是__cdecl就是__stdcall,都是从右向左压参数的,所以最左边参数地址-4就是函数返回地址的存放地址。__thiscall也是一样,只是把this指针放到了ecx里。获取代码如下:
int func (int arg1, ......)
{  size_t* ret_addr = (size_t*)(&arg1);
  printf(\"ret_addr = %08X\", *(ret_addr - 1));
}
  有一个特殊情况,那就是COM的纯虚函数调用。因为把this指针也压到栈里了,在形参上又不可见,所以返回地址应该变为*(ret_addr -2)。

热心网友 时间:2022-07-19 06:29

一般是紧邻函数调用语句的下一条语句的地址, 因为函数调用结束后程序要继续执行, 所以先把这个地址压入堆栈, 等函数调用结束以后, 把这个地址从堆栈里面弹出来, 接着执行...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
联想E盘不见了怎么办? 电脑e盘不见了怎么恢复?6个步骤找回e盘 五一去河源万绿湖游玩,需要携带哪些物品? 五一假期,旅行必带的物品是什么 建行办新卡用了新手机号,旧卡就自动绑了信号 请问电磁炉热敏电阻阻值是多少 电磁炉换电阻多少钱 电磁炉配件电阻多少钱 电磁炉510K大电阻多少钱一个 更换电磁炉电阻多少钱 电脑怎么息屏但是不关机 电脑不要关机只想关屏,可以按屏幕上的那个键啊 软件测试 在三角形计算中,要求三角型的三个边长:... VB:编程计算三角形面积 如何用microsoft计算三角形面积 知道三角形二个角一个边画三角形那个计算器是什么... 求一个能计算三角形边长的软件的,如:已知一个角... 您有excel三角形面积计算软件么?可以发给我么? 求一计算三角形的角边的软件 华为手机计算三角形边长软件怎么安装? 华为Mate10怎么检测手机屏幕 尿酸高了能吃什么?不能吃什么 华为屏幕怎么检测 尿酸高能吃什么肉类 华为手机验屏方法 尿酸偏高能吃哪些食物 雪豹中周卫国手断了为什么到救父亲周继先装日本人... 雪豹中周卫国的手是第几集断的? 尿酸高能吃什么 《雪豹》感情篇:周卫国到底爱谁? c语言函数返回地址 梦到门牙被磕断,还去找医生,医生说补不了; 有关函数返回地址的问题! 笔记本电脑怎么设置只关屏幕,不关机不睡眠?我Win1... 梦到自己的上门牙被撞掉了两颗了两颗 return address是什么意思 为什么程序员的电脑只关屏幕,很少关机? 名侦探柯南里出现过那些手机? 什么是return address 返回地址? 柯南的手机是什么型号的? 电脑可以关屏幕不关机吗 微机原理当中,什么是断点地址,返回地址? 名侦探柯南中最新的手机型号 白天睡觉梦见吃东西磕掉门牙是什么意思啊? 我的电脑关机了显示屏关了但主机没关机。怎么办? 怎样在C语言中用函数返回一个数的地址呢? 柯南也是手机控,手机换的真勤,柯南都用过什么手机 梦见磕掉门牙,在此说破,家人平平安安,健健康康? 柯南用的手机是哪一款 最新的 什么事是函数返回地址?