微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法为C中的函数设置返回地址

如何解决有没有办法为C中的函数设置返回地址

所以我知道__builtin_return_address(0)显示返回地址是什么,但是我想知道是否有一种手动设置返回地址的方法。 C或任何其他编程语言是否支持这种功能?我尝试过在线搜索,但找不到很多。

谢谢!

解决方法

有一种方法,但是很复杂。您需要使用 setjmp longjmp ,并且需要注意返回点会发生什么,否则会创建无限循环。

请注意,如果 longjmp 进入main()以外的其他函数,则不能使用其返回类型,而必须使用 stdlib.h 或 longjmp 移至另一个有效位置

PPS另一个有趣的功能,您可能还喜欢所谓的“标签作为值”:https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html

exit()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。