您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如果汇编程序中没有退出系统调用,会发生什么?

如果汇编程序中没有退出系统调用,会发生什么?

处理器不知道您的代码在哪里结束。它忠实地执行一条指令,直到另一条指令被重定向到其他位置为止(例如,通过跳转调用,中断,系统调用等)。如果代码结束而没有跳到其他地方,则处理器将在代码执行后继续执行内存中的所有内容。确切的结果是无法预测的,但是最终,您的代码通常会崩溃,因为它试图执行无效的指令或试图访问不允许访问的内存。如果两者均未发生且没有跳转发生,则处理器最终将尝试执行未映射的内存或标记为“不可执行”的代码的内存,从而导致分段冲突。在Linux上,这会引发一个SIGSEGVSIGBUS。如果不处理,它们将终止您的进程并有选择地产生核心转储。

其他 2022/1/1 18:13:57 有705人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶