Linux 编程之非局部跳转:longjmp siglongjmp
Posted 拭心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 编程之非局部跳转:longjmp siglongjmp相关的知识,希望对你有一定的参考价值。
在同一个函数中,我们可以使用 goto 修改程序的执行逻辑。如果在多个函数中,想要修改函数的执行顺序(从一个函数,返回到之前函数的某个预定义逻辑),怎么办呢?
答案是使用 longjmp 或 siglongjmp。
本文主要内容:
文章目录
longjmp 的作用及使用
https://man7.org/linux/man-pages/man3/setjmp.3.html
longjmp 需要和 setjmp 成对使用。
#include <setjmp.h>
typedef long jmp_buf[_JBLEN];
int setjmp(jmp_buf __env) __returns_twice;
__noreturn void longjmp(jmp_buf __env, int __value);
以上是关于Linux 编程之非局部跳转:longjmp siglongjmp的主要内容,如果未能解决你的问题,请参考以下文章