4.7.31.  __return_address

此内在函数返回当前函数的返回地址。

语法


unsigned int __return_address(void)

返回值

__return_address 内在函数返回在从当前函数返回时使用的链接寄存器的值。

限制

__return_address 内在函数 影响编译器执行优化的功能,如内联、尾调用和代码共享。 如果进行了优化,__return_address 返回的值将反映所执行的优化:

不优化

如果未执行任何优化,__return_address 从函数 foo 中返回的值是 foo 的返回地址。

内联优化

如果函数 foo 已内联到函数 bar,则 __return_addressfoo 中返回的值是 bar 的返回地址。

尾调用优化

如果从函数 bar 中尾调用函数 foo,则 __return_addressfoo 中返回的值是 bar 的返回地址。

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential