函数的返回地址是什么意思
发布网友
发布时间: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
一般是紧邻函数调用语句的下一条语句的地址, 因为函数调用结束后程序要继续执行, 所以先把这个地址压入堆栈, 等函数调用结束以后, 把这个地址从堆栈里面弹出来, 接着执行...
函数的返回地址是什么意思
函数的返回地址 函数调用时通过一个指向函数的指针指向函数的地址,函数返回时将回归到调用处,那个地方是返回地址。获取返回地址 在某些情况下,我们需要在一个函数里获取这个函数的返回地址,用来定位一些东西。在x86的C/C++里,一般函数调用形式不是__cdecl就是__stdcall,都是从右向左压参数的,所以...
函数的返回值是什么意思?
函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果会通过return语句返回。函数可以有返回值,也可以没有返回值。对于没有返回值的函数,功能只是完成一个操作,应将返回值类型定义为void,函数体内可以没有return语句,当需要在程序指定位置退出时,可以在该处放置一个。
”函数调用时的现场保护和返回地址“这是什么意思
返回地址是指函数调用完之后下一指令的地址,也要入栈保存.
函数的返回值是什么意思?
什么是函数的返回值?在计算机编程中,函数是一段可重复使用的代码,用于实现特定的任务。函数的返回值是指函数执行完毕后,将要返回给调用者的值。这个值可以是任何数据类型,例如一个数字或布尔值。函数的返回值具备重要的作用。首先,函数的返回值可以让程序员知道函数执行的结果,从而进行相应的处理。例...
c语言中函数中返回首地址的意思
return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。
函数的返回值是什么意思?
所谓函数返回值是一个函数在运算结束以后向调用它的母函数或者系统反馈一个值,这个值可以是各种变量类型.举个简单的例子:int add(int a,int b){ return (a+b);}int main(){ int res; res=add(3,4); printf("%d",res); return 0;}在主函数main中调用子函数add,并传递参...
函数返回值是什么意思?
函数返回值的意思是将函数实现的结果返回给调用者。按标准来说,C的main函数是需要有返回值的。标准中main函数返回类型是int的,所以需要一个返回值。但是由于历史原因,很多地方可以看到没有返回值的main。比如直接main()或者说void main() 但是这样一般编译器也不会认为错误,不过建议还是写标准的C的...
c语言中函数的返回值到底是什么意思,有什么用
1、没有返回值的函数:功能只是完成一个操作,应将返回值类型定义为void,函数体内可没有return语句。2、有返回值的函数:函数的最后会有一个返回值return,可以用来获取该函数执行结果返回给该函数,让外部调用该函数的。一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数...
函数的返回值是什么意思?
就是在函数前面写上类型,如int,float,char等,这个就是函数的返回值类型。这个一般在子函数的末尾或者程序的某个部位有个return返回一个。但是遇到return子函数一定是要结束的。其实还有一种返回值,就是scanf和printf等系统带的函数,这个我知道printf的返回值是他打印的字符的数量。
函数的返回值是什么意思
返回值 就是通过程序计算之后的到结果,也是函数实现返回最终的结果函数(方法)一般分为有返回值和无返回值,无返回值实现功能最终不返回结果,有返回值的,最终返回该函数的计算结果。