关于C++程序运行程序是出现的this application has requested the runtime to terminate it in an unusual way. 异常分析

简介:

今天运行程序是出现了this application has requested the runtime to terminate it in an unusual way. 的异常报告,以前也经常遇到,但是没有留意过,今天确实是绕不过去了,就上网查了下,发现这样的问题回馈还挺多的,所以找了一些东西跟大家分享一下。

一般是软件运行时出现这种问题,不过其实可以把程序也看成一个小软件了,首先要理解这句话的意思是:这个应用程序请求运算时间用一个异常的方式终止。

大家先看一个美国人关于这个的解释。
image
他的解释是这个问题和内存有关,我在优化了我的程序之后,确实这个问题解决掉了,再加上我查询的其他一些资料,这个问题的出现确实基本上是由于内存读写时候的问题。

然后我给大家找到了官方的解释,也是网上流传很多的一个解释。

微软官方解释如下:

症状
在 Microsoft Windows XP 中运行自定义 Microsoft Visual C++ 6.0 程序时,您可能会收到以下错误消息:
This application has requested the Runtime to terminate it in an unusual way.Please contact the application''s support team for more information.
回到顶端

原因
如果使用 /GR 和 /MD 编译器开关,并且 Msvcrt.dll 文件和 Msvcirt.dll 文件的版本是 7.0.x,则可能出现此问题。

注意:当使用早于 7.0 版本的 Msvcrt.dll 文件和 Msvcirt.dll 文件时,不会出现此问题。
回到顶端

解决方案
Microsoft 现在提供了一个受支持的修补程序,但该程序只用于解决本文中提到的问题。仅当系统遇到本文描述的特定问题时才可应用此修补程序。此修补程序可能还会接受进一步的测试。因此,如果这个问题没有对您造成严重影响,我们建议您等待包含此修补程序的下一个 Windows XP Service Pack。

要立即解决此问题,请与 Microsoft 产品支持服务联系,以获取此修补程序。要获取 Microsoft 产品支持服务电话号码和支持费用信息的完整列表,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support

根据微软的方案可以如下解决这个问题:
1、下载早期的 Msvcrt.dll 文件和 Msvcirt.dll 文件。
2、在C:Program Files或者是其他软件安装目录下搜索这两个文件。
3、下载微软官方补丁。
这个解释其实跟啥都没说一样,至于能不能解决问题,我暂时还没试验,并且他回馈的关于XP系统的,现在也多有不适用了。

我还给大家找到了一个解决方法,遇到这个问题的可以试一下。

解决办法:

1、开始--运行--输入cmd

2、输入 cd %windir%system32 (进入windows安装目录的system32文件夹)

3、输入 Regsvr32 Msxml3.dll

目录
相关文章
|
2月前
|
存储 算法 安全
基于哈希表的文件共享平台 C++ 算法实现与分析
在数字化时代,文件共享平台不可或缺。本文探讨哈希表在文件共享中的应用,包括原理、优势及C++实现。哈希表通过键值对快速访问文件元数据(如文件名、大小、位置等),查找时间复杂度为O(1),显著提升查找速度和用户体验。代码示例展示了文件上传和搜索功能,实际应用中需解决哈希冲突、动态扩容和线程安全等问题,以优化性能。
|
3月前
|
机器学习/深度学习 人工智能 API
如何在c++侧编译运行一个aclnn(AOL)算子?
CANN的AOL库提供了一系列高性能算子API,优化了昇腾AI处理器的调用流程。通过两段式接口设计,开发者可以高效地调用算子库API,实现模型创新与应用,提升开发效率和模型性能。示例中展示了如何使用`aclnnAdd`算子,包括环境初始化、算子调用及结果处理等步骤。
|
4月前
|
安全 程序员 编译器
【C++】异常
C++异常处理机制允许在程序运行时出现错误时,通过`try`、`catch`和`throw`关键字将错误信息传递回调用栈,进行异常处理。它支持异常的重新抛出、自定义异常体系以及标准库提供的异常类层次结构,如`std::exception`及其派生类。异常处理提高了代码的健壮性和可维护性,但也带来了性能开销和代码复杂性等问题。合理使用异常机制,可以有效提升程序的稳定性和安全性。
79 3
|
4月前
|
Ubuntu Linux Shell
C++ 之 perf+火焰图分析与调试
【11月更文挑战第6天】在遇到一些内存异常的时候,经常这部分的代码是很难去进行分析的,最近了解到Perf这个神器,这里也展开介绍一下如何使用Perf以及如何去画火焰图。
174 5
|
5月前
|
Ubuntu Linux Shell
C++ 之 perf+火焰图分析与调试
【10月更文挑战第8天】在遇到一些内存异常的时候,经常这部分的代码是很难去进行分析的,最近了解到Perf这个神器,这里也展开介绍一下如何使用Perf以及如何去画火焰图。
|
5月前
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
305 22
|
5月前
|
存储 算法 搜索推荐
对二叉堆的简单分析,c和c++的简单实现
这篇文章提供了对二叉堆数据结构的简单分析,并展示了如何在C和C++中实现最小堆,包括初始化、插入元素、删除最小元素和打印堆的函数,以及一个示例程序来演示这些操作。
65 19
|
6月前
|
C++
【C++基础】程序流程结构详解
这篇文章详细介绍了C++中程序流程的三种基本结构:顺序结构、选择结构和循环结构,包括if语句、三目运算符、switch语句、while循环、do…while循环、for循环以及跳转语句break、continue和goto的使用和示例。
104 2
|
6月前
|
程序员 编译器 C++
【C++核心】C++内存分区模型分析
这篇文章详细解释了C++程序执行时内存的四个区域:代码区、全局区、栈区和堆区,以及如何在这些区域中分配和释放内存。
81 2
|
6月前
|
Ubuntu Linux Shell
C++ 之 perf+火焰图分析与调试
简介 在遇到一些内存异常的时候,经常这部分的代码是很难去进行分析的,最近了解到Perf这个神器,这里也展开介绍一下如何使用Perf以及如何去画火焰图。 1. Perf 基础 1.1 Perf 简介 perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找。利用perf剖析程序性能时,需要指定当前测试的性能时间。性能事件是指在处理器或操作系统中发生的,可能影响到程序性能的硬件事件或软件事件 1.2 Perf的安装 ubuntu 18.04: sudo apt install linux-tools-common linux-tools-4.15.0-106-gen
135 2