如何在 C++ 中(计算)goto 和 longjmp?
我通常不编写 C++ 代码,但我的一位奇怪的计算机科学朋友厌倦了查看我精彩的 FORTRAN 程序,并挑战我用 C++ 重写其中一个程序,因为他更喜欢我的 C++ …
Longjmp 超出信号处理程序?
从问题: 这是好的编程吗练习在 C 中使用 setjmp 和 longjmp 吗? 留下的两条评论说: “你不能在信号处理程序中抛出异常,但你可以做一个 longjmp 安…
链接到 C++ 时在 C 中使用 setjmp 和 longjmp;图书馆
我想在链接到用 C++ 实现的库(但具有 C API)的 C 程序中使用 setjmp 和 longjmp。 C++ 代码确实进行动态内存分配,并且指针通过 API 传递,但只要代…
为什么 setjmp 不保存堆栈?
为什么 setjmp 不保存堆栈? 考虑以下代码: #include jmp_buf Buf; jmp_buf Buf2; void MyFunction() { for(int i = 0; i < 5; i++) { std::cout << …
如果我用“goto”跳出 catch 块,我是否能保证异常对象将被释放?
我有如下代码 try { doSomething(); } catch(InterruptException) { goto rewind_code; } if(0) { rewind_code: longjmp(savepoint, 1); } 我的问题是…
setjmp 和 longjmp - 通过示例进行理解
我知道setjmp和longjmp的定义。 setjmp 将环境存储在堆栈上下文中,另一个恢复。 但我认为我的部分还存在一些缺乏理解的地方。有人可以在很好的例子的…
利用 jmp_buf 结构中的缓冲区溢出
我需要帮助来利用 jmp_buf 结构上的缓冲区溢出。 我在堆栈上有以下值(由 gdb 看到): 0xbffffc40: 0xb7fd8ff4 0x080485a0 0x080483f0 0xbffffcf8 0x…
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-…
在 C 中:发送 func 指针,用它调用 func,使用 EIP、jmp_buf 和 longjmp
我需要确保我首先了解一些基本的东西: 如何将函数 A 作为参数传递给函数 B? 如何从 B 内部调用函数 A? 现在,最大的打击是: 我正在尝试按照以下方…
- 共 1 页
- 1