微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有效切换堆栈

由于某种原因,我切换堆栈以调用应用程序中的某些function。 为此,我使用了makecontext / getcontext / swapcontext 。 不过,我觉得这太慢了。 我试图使用自定义代码来保存堆栈指针和其他寄存器,然后将堆栈指针指向我想用作堆栈的新内存的值。 但是,我不断得到堆栈粉碎检测到的错误

他们是否为操作系统的堆栈设置了一些特殊的权限,或者这里有什么问题? 如何规避这个问题。

当加载/清除大量的数据时,std :: vector会变得越来越慢

安全的C + + std ::string到TCHAR *转换?

libpng警告:应用程序和库中的libpng版本不兼容

Windows 10的开始菜单是否支持自定义图标文件夹?

nm符号值的偏移量?

优秀的GNU Pth库大量使用这些技术。 这是非常有据可查的,并确定编译时最有效的上下文切换机制。 编辑:实际上在配置时间。

作者的论文: rse-pmt.ps给出了用户空间上下文切换和相关问题的技术说明 – 替代信号堆栈等。

你可以看看其他软件和你一样的肮脏的技巧。 特别是鸡计划 。 您也许可以考虑在目标jmp_buf上手动执行脏东西后使用longjmp 。 当然,这些都不是便携式的。

但请多说明你的总体目标 。 你的问题一般都太神秘了……(这对一些人来说是令人厌恶的)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐