wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了windows – 在什么条件下我需要为x86-64汇编函数设置SEH展开信息?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

64位 Windows ABI定义了一个通用的 exception handling mechanism,我认为它可以在C异常和结构化异常之间共享,即使在其他语言(例如C)中也是如此. 如果我正在编写一个x86-64汇编例程以在Nasm中编译并链接到C或C库,那么在生成展开信息等方面我需要在Windows上做些什么? 我不打算直接在汇编代码中生成任何异常,但我认为如果用户提供的缓冲区无效,代码可能
@H_489_7@
64位 Windows ABI定义了一个通用的 exception handling mechanism,我认为它可以在C异常和结构化异常之间共享,即使在其他语言(例如C)中也是如此.

如果我正在编写一个x86-64汇编例程以在Nasm中编译并链接到C或C库,那么在生成展开信息等方面我需要在Windows上做些什么?

不打算直接在汇编代码生成任何异常,但我认为如果用户提供的缓冲区无效,代码可能会获得访问冲突等.

我希望编写尽可能少的文件来实现这一点,特别是因为似乎nasm对生成展开信息的支持不足,并且使用MASM不是这个跨平台项目的选项.我确实需要使用(因此保存和恢复)非易失性寄存器.

解决方法

作为一般规则,Windows x64要求所有功能都提供展开信息.唯一的例外是叶函数修改rsp而不修改任何非易失性寄存器.

大佬总结

以上是大佬教程为你收集整理的windows – 在什么条件下我需要为x86-64汇编函数设置SEH展开信息?全部内容,希望文章能够帮你解决windows – 在什么条件下我需要为x86-64汇编函数设置SEH展开信息?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。