longjmp

    0热度

    1回答

    根据公开组基本规格和longjump docs: 它是未指定的longjmp()是否恢复信号掩模,叶信号掩码不变,或还原它在调用setjmp()时的值。 我认为我遇到了ARMv8 Mustang board的警告。我们通过捕获SIGILL来执行运行时功能检测。在测试CRC32扩展时,第一个SIGILL陷阱按预期执行。第二个SIGILL陷阱确实不是在测试AES扩展时按预期执行。以下是它在调试器下的样

    5热度

    1回答

    setjmp()应该将包括“返回地址”和“堆栈指针”的寄存器保存到“jmp_buf”中。当我用glibc编译(包括gcc和clang)并在x86_64下调试以下程序时,我无法理解“jmp_buf”中的内容以及“返回地址”和“堆栈指针”位于“jmp_buf”中。 #include <stdio.h> #include <setjmp.h> int main() { int i;

    2热度

    1回答

    我正准备在C++中为R编写一个扩展包,并想知道如何使用动态内存管理而没有内存泄漏的风险。我已阅读 http://cran.r-project.org/doc/manuals/R-exts.html#Memory-allocation http://cran.r-project.org/doc/manuals/R-exts.html#Garbage-Collection ,并立即得到了三个问题: 是

    1热度

    1回答

    我在使用Nick Gammon's Regexp library时出现此错误。下面的错误是: libraries/Regexp/Regexp.cpp.o:(.text._ZL5errorc+0x4): undefined reference to `longjmp' libraries/Regexp/Regexp.cpp.o: In function `error': /Users/jai

    4热度

    2回答

    我想测试2我的函数那种模拟setjmp和longjmp的作业 - 这是很难,因为我们是不允许使用内置函数或程序集asm()来实现longjmp和setjmp函数。 (是的,that's really the assignment。) 问题:我不断收到错误的返回值。因此,简而言之,当main()调用foo()和foo()调用bar()和bar()调用longjump()时,bar()不应该返回到fo

    0热度

    1回答

    嗨,我想问一下关于setjmp/longjmp。我试图寻找,但我unsucessuful ... #include <stdio.h> #include <setjmp.h> jmp_buf a, b; void jump() { int aa = setjmp(a); if (aa) { printf("Jump!\n"); }

    2热度

    1回答

    在x86中,在设置PE位CR0后,我们执行远程JMP以确保CS/EIP已更改。当我看到在x86的程序员手册中的逻辑流程,与此对应远JMP指令(保护模式),我看到这样的事情: Set RPL field of CS register to CPL; 我想,以确保优先级为0。假设是DPL描述符中也是0,远端JMP中的选择器中的RPL也是0.描述符中的C位为0,所以它是非符合代码段的情况。该手册说C

    2热度

    1回答

    尝试在也构建为C++的C代码库上显示一些警告级别。我给了Visual Studio一个镜头(出于某种原因)。 尽管没有看到任何相关的析构函数,但仍发现有关setjmp交互的警告。所以我做了试验: #include <setjmp.h> struct X { int y; }; int main() { struct X x; jmp_buf buf; if

    2热度

    1回答

    我需要longjmp/setjmp在OS X的.kext文件中。不幸的是,我不认为XNU中有这些函数的官方支持。有没有什么根本的原因,为什么这不起作用,或者它现在只是没有实施? 任何想法,我可以得到这个工作? 如果有帮助,我想尝试让Lua在OS X内核中运行,但运行时似乎取决于longjmp/setjmp或C++异常,而这两者在XNU中都不可用。

    4热度

    1回答

    我正在学习gdb调试器,我无法回答的一个问题是: 新的函数调用会为其分配额外的堆栈帧,并且调用堆栈会向下增长;堆栈帧被释放并返回到未使用的内存。是否有可能删除堆栈中间的一个帧并将其返回到内存?可以去声明或longjmp函数做到这一点? 非常感谢。