C setjmp.h和ucontext.h,哪个更好?
嗨,我需要从一个地方跳到另一个地方... 但我想知道 setjmp 或 ucontext 哪个更好用,例如: setjmp 和 ucontext 是否可移植? 使用这些库我的代码是…
setjmp 和 GCC 的合法用途
使用 GCC(对我来说是 4.0)是合法的: if(__builtin_expect(setjmp(buf) != 0, 1)) { // handle error } else { // do action } 我发现一个讨论说它…
将 jmp_buf 声明为指针
我试图将 jmp_buf 定义为指针并在嵌套的 longjmp(s) 中使用它。如下所示: ... jmp_buf *bfj ... 然后编写 if else: if( setjmp(*bfj) == 0){ DS[SP-2…
在 C 中:发送 func 指针,用它调用 func,使用 EIP、jmp_buf 和 longjmp
我需要确保我首先了解一些基本的东西: 如何将函数 A 作为参数传递给函数 B? 如何从 B 内部调用函数 A? 现在,最大的打击是: 我正在尝试按照以下方…
我可以撤消或删除 atexit 命令吗?
如果我将 atexit( fn ) 放在退出堆栈上,它将在程序退出时执行:从 main() 返回或通过 exit()< /代码>。 我可以将其从堆栈中删除吗? 你问我为什…
使用信号处理程序和 setjmp/longjmp 实现抢占式微线程
我想在Linux环境中实现符合POSIX标准的微线程。基本思想如下: 使用此处描述的技术,分配新堆栈每根光纤的空间。 使用 setitimer,创建以恒定时间间隔…
Jmp_buf 结构中的每个条目保存什么?
我运行的是 Ubuntu 9.10 (Karmic Koala),我查看了 jmp_buf 结构,它只是一个 12 个整数的数组。当我使用 setjmp 并传入 jmp_buf 结构时,12 个条目中…
有哪些“好”的东西? 如何使用 longjmp/setjmp 进行 C 错误处理?
我必须在一个项目中使用 C,并且我正在考虑使用 longjmp/setjmp 进行错误处理,因为我认为在一个中心位置处理错误比返回代码要容易得多。 如果有一些…
- 共 1 页
- 1