setjmp

setjmp

文章 0 浏览 4

为什么 setjmp 传统上保存寄存器?

仅以 i386 为例,但类似的问题也适用于其他架构。 setjmp保存的传统i386 jmp_buf由6个保存的寄存器组成:ebx、esi、edi、ebp、esp 和 eip。其中,前 4…

被你宠の有点坏 2025-01-06 21:51:49 1 0

使用 Sys::SigAction::timeout_call 不安全吗?

我刚刚读过 Leon Timmermans 的文章 关于基于信号的超时您应该了解什么,我想知道它/如果它适用于使用Sys::SigAction::timeout_call()。 1)首先,似…

如何视而不见 2024-12-25 21:35:47 2 0

为什么 setjmp/longjmp 在 MSVC 上会崩溃,而在 MinGW 中却不会?

我想使用 setjmp()/longjmp() 来实现协程系统。 然后我决定编写一个小 .c 文件来测试它。在MinGW中,还可以;我得到了我想要的结果。 但是当我在MSVC+…

余生再见 2024-12-22 16:45:35 1 0

OCaml 内部结构:异常

我很想知道 OCaml 运行时如何处理异常以使它们如此轻量。他们是使用 setjmp/longjmp 还是在每个函数中返回一个特殊值并传播它? 在我看来, longjmp …

淑女气质 2024-12-22 07:55:57 3 0

GDB 在 Eclipse 中的 longjmp 上崩溃

我在eclipse中使用c来编写程序。我需要使用GDB来一步步调试。但是,在 longjmp 命令上(当我尝试保存堆栈上下文时)GDB 在 eclipse 内崩溃(因为那里…

明媚殇 2024-12-18 03:29:08 1 0

setjmp/longjmp 使用 volatile 的性能开销

要使 setjmp/longjmp 正常工作,您需要将局部变量声明为 volatile。如果有人使用 -O3 编译代码,那么 volatile 变量对性能的影响有多大。在 x86 多核…

情释 2024-12-13 15:32:38 2 0

将 fork 与 setjmp/longjmp 一起使用

我试图使用 fork 结合 setjmp/longjmp 来实现基于多线程 fork 的检查点方案。我希望我的解决方案能够奏效,但正如预期的那样,它没有奏效。下面显示了…

把回忆走一遍 2024-12-13 12:21:02 3 0

关于 setjmp/longjmp

我正在研究 setjmp/longjmp 并发现 setjmp 保存寄存器,例如指令指针,堆栈指针等... 但是我在这里不明白的是,可以在调用setjmp和longjmp之间,线程…

错々过的事 2024-12-13 06:30:33 1 0

为什么在包含 时 setjmp 不在 std 命名空间中?

标题说明了一切。包含 后,longjmp 和 jmp_buf 位于 std 命名空间中,但 setjmp不是。我在MinGW4.5和MSVC10上验证了这一点。在查看 标头后,我无法弄…

楠木可依 2024-12-13 01:34:00 2 0

这段代码是否包含隐藏的错误?

以下代码: 使用 gcc 版本 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5/32bits) 编译时运行良好 使用 MSVC10 (Win7/32bits) 编译时运行良好 使用 gcc 版本 …

成熟稳重的好男人 2024-12-12 21:45:13 2 0

如何在 C++ 中(计算)goto 和 longjmp?

我通常不编写 C++ 代码,但我的一位奇怪的计算机科学朋友厌倦了查看我精彩的 FORTRAN 程序,并挑战我用 C++ 重写其中一个程序,因为他更喜欢我的 C++ …

清风不识月 2024-12-07 05:06:46 3 0

Longjmp 超出信号处理程序?

从问题: 这是好的编程吗练习在 C 中使用 setjmp 和 longjmp 吗? 留下的两条评论说: “你不能在信号处理程序中抛出异常,但你可以做一个 longjmp 安…

情归归情 2024-12-03 12:14:34 4 0

链接到 C++ 时在 C 中使用 setjmp 和 longjmp;图书馆

我想在链接到用 C++ 实现的库(但具有 C API)的 C 程序中使用 setjmp 和 longjmp。 C++ 代码确实进行动态内存分配,并且指针通过 API 传递,但只要代…

与风相奔跑 2024-12-02 14:35:32 3 0

为什么 setjmp 不保存堆栈?

为什么 setjmp 不保存堆栈? 考虑以下代码: #include jmp_buf Buf; jmp_buf Buf2; void MyFunction() { for(int i = 0; i < 5; i++) { std::cout << …

清眉祭 2024-12-02 05:36:36 2 0

如果我用“goto”跳出 catch 块,我是否能保证异常对象将被释放?

我有如下代码 try { doSomething(); } catch(InterruptException) { goto rewind_code; } if(0) { rewind_code: longjmp(savepoint, 1); } 我的问题是…

御守 2024-12-02 03:35:31 4 0
更多

推荐作者

qq_2gSKZM

文章 0 评论 0

∞梦里开花

文章 0 评论 0

qq_IklFPL

文章 0 评论 0

迷途知返

文章 0 评论 0

深海不蓝

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文