总是提示应用程序错误

来源:百度知道 编辑:UC知道 时间:2024/05/05 18:04:51
我的系统是WIN XP SP2系统,系统总是出现应用程序错误,我用那个解决不能分内存工具后,就弹出
An application has made an attempt to load the C runtime library incorrectly.
Please contact the application's support team for more information.

Runtime Error

R6034
An application has made an attempt to load ATL80.DLL incorrectly.
Please contact the application's support team for more information.

R6034
An application has made an attempt to load vcomp.dll incorrectly.
Please contact the application's support team for more information.
请高手解决~~~~

运行某些程序时候,有时会出现内存错误提示,然后该程序就关闭。 “0x????????”指令引用“0x????????”内存。该内存不能为“read”。 “0x????????”指令引用“0x????????”内存,该内存不能为“written”。 不知你出现过类似这样故障?(0x后面内容有可能不一样。) 一般出现这个现象有方面,一是硬件,即内存方面有问题,二是软件,这就有多方面问题。 如果去请教一些“高手”,得到回答往往是“Windows就是这样不稳定”之类义愤和不屑。其实,这个错误并不一定是Windows不稳定造成。现在们就来简单分析这种错误常见原因。 一、硬件: 一般来说,内存出现问题可能性并不大,主要方面是:内存条坏、内存质量有问题,还有就是2个不同牌子不同容量内存混插,也比较容易出现不兼容情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest 这个软件来检测一下内存,它可以彻底检测出内存稳定度。 假如你是双内存,而且是不同品牌内存条混插或者买二手内存时,出现这个问题,这时,你就要检查内存出问题或者和其它硬件不兼容。 二、软件 1、应用程序没有检查内存分配失败 程序需要一块内存用以保存数据时,就需要调用操作系统提供“功能函数”来申请,如果内存分配成功,函数就会将所新开辟内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中“指针”。 内存不是永远都招之即来、用之不尽,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用指针,而是系统向应用程序发出一个通知,告知出现错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现故障,应该采取一些措施挽救,这就增强程序“健壮性”。 若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配可用指针,继续在之后运行中使用这块内存。真正0地址内存区保存是计算机系统中最重要“中断描述符表”,绝对不允许应用程序使用。在没有保护机制操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮操作系统中,如Windows等,这个操作会马上被系统保护机制捕获,其结果就是由操作系统强行关闭出错应用程序,以防止其错误扩大。这时候,就会出现上述“写内存”错误,并指出被引用内存地址为“0x