在C中捕获内存访问冲突

在C中捕获内存访问冲突,第1张

概述在C中,是否有标准方法(或任何其他方式)来捕获内存访问冲突触发的异常? 例如,如果出现问题且程序试图访问不应该访问的内容,您将如何收到错误消息,显示“内存访问违规!”而不只是终止进程而不是向用户显示有关崩溃的任何信息? 我正在使用MinGW为Windows编写游戏,如果这有帮助的话. 访问冲突是硬件异常,无法通过标准try … catch捕获. 由于硬件异常的处理是特定于系统的,因此在代码中捕获 在C中,是否有标准方法(或任何其他方式)来捕获由内存访问冲突触发的异常?

例如,如果出现问题且程序试图访问不应该访问的内容,您将如何收到错误消息,显示“内存访问违规!”而不只是终止进程而不是向用户显示有关崩溃的任何信息?

我正在使用MinGW为Windows编写游戏,如果这有帮助的话.

解决方法 访问冲突是硬件异常,无法通过标准try … catch捕获.

由于硬件异常的处理是特定于系统的,因此在代码中捕获它的任何解决方案也将是系统特定的.

在Unix / Linux上,您可以使用SignalHandler来捕获SIGSEGV signal.

在windows上,您可以使用__try/__except statement捕获这些structured exception.

@H_301_30@ 总结

以上是内存溢出为你收集整理的在C中捕获内存访问冲突全部内容,希望文章能够帮你解决在C中捕获内存访问冲突所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1219886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存