MFC Application 已停止工作是怎么回事?

MFC Application 已停止工作是怎么回事?,第1张

1.重新去找一个VC的运行库装上。如果你的WIN7是64位,游戏是32位,那么建议把32位和64位的运行库都装上。

2.右击游戏的启动程序,选择属性,然后找到兼容设置,设置为:Windows XP兼容模式运行。

微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。

MFC(MicrosoftFoundationClasses)是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数,vc++是微软公司开发的毕御c/c++的拿册集成开发环境,所谓集成开发环境,就是说利用它可以编辑,编译,调试,而不是使用多种工具轮换 *** 作,手敏岩灵活性较大。

vc也指它的内部编译器,集成开发环境必须有一个编译器内核,例如DevC++其中一个编译器内核就是gcc。 MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西。

因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。但是MFC的封装很浅,所以效率上损失不大。

生成release版本即大多数情况下可以在Win7以上没有安装VS的电脑上运行(这是指除必须包含的dll之外,如果引用第三方封装的类或者库,比如opencv、GDAL则dll文件必须放于程序目录下),在XP电脑上需要包含几个dll文件,放于程序同目录下。其实几乎所有软件都是将必要dll文件置于目录下的局肆。

最后你的目录应该有:release版桐吵轿本的exe执行文件、第三方碰竖类的dll、系统必备组件的dll(比如msvcp系列)、以及程序调用的资源文件(ini,bmp等)。

【首先给出99%情况下都能解决这个问题的最简单办法】:下载并安装微软VC++2005版运行库(英文全称:MicrosoftVisualC++2005edistributablePackage)【注意】:如果是32位程序出现这个丢失的提示就安装32位(x86)版VC++,64位程序就安装x64版。实在分不清就两个版本都装了,也没坏处。重申:安装哪个版本跟你的系统是否64位版并没有关系!是要看调用VC++的那个程序本身是32位还是64位!关于附件:VC++运行库修复工具是很容易搜到下载的,也可以直接下载我附件(上传附件仅仅是为了下载方便,也可以直接搜索下载),附件免费下载,不要积分。7z、rar、zip文件要用解压缩软件打开,x86版就是32位版,请不要再问出“为什么只有86位版”之类搞笑的问题。密码:6bte【下面给出吐槽和解释,不想看的可以不看】:呵呵,vc++已经更新到了2015版,msvcp类文件的版本号刷到了140,而大部分解决方案还在用不知道哪个年代就开始祖传的复制货,又是95又是Me的,特么现在还有人用Windows95系统?敢不敢复制粘贴之前自己试一试?敢不敢修改一下把祖传了十年的答案加上Windows8.1、Windows10?在此强烈建议大家抵制不论什么dll都只会下载这个文件丢到系统盘,然后打开cmd用regsvr命令注册的蠢办法,这完全是撞大运。有些人试了下上面的办法可能觉得有用,认为我危言耸听。那只是你运气好,瞎猫碰到死耗子。如果64位系统按照他的说法去把dll文件放到syswow64里,而你要打开的软件或游戏却是个32位程序,你看看是不是有用。即使版本对应,你光下载这个dll也未必有效,因为你并没有安装vc++运行库,有些软件是必须完整安装VC++运行库才能运行的。这还仅仅是vc++的dll的情况,有些dll,例如steam_api.dll这特么就是某些游戏的免steam破解补丁的文件,是应该放在游戏目录下的,有些逗比也告诉别人下载这个dll放到system32。在它们(就是它们,我没打错)眼里,所有dll都是可以下载放到system32或syswow64注册解决的。这群类人生物真是人类进步的滑梯。至于回答重装系统的,那就更加呵呵了。除非是被人修改过的系统镜像,否则微软任何原版系统都不自带VC++运行库,重装一万遍也不可能解决msvcp类dll的丢失问题。因为“丢失”其实并不是丢失,尺喊是原本就没有!另:msvcp、msvcr、vcomp140.dll属于VC++2015版msvcp、msvcr、vcomp120.dll属于VC++2013版msvcp、msvcr、vcomp110.dll属于VC++2012版msvcp、msvcr、vcomp100.dll属于VC++2010版msvcp、msvcr、vcomp90.dll属于VC++2008版msvcp、msvcr60、71和80.dll,以及vcomp.dll(不带数字版本号)属于VC++2005版除了丢失、缺少这类错误之外,如果一个程序打开之后提示“并行配置错误”,那么也是因为没有安装VC++运行库。出现这种情况,而你又不知道应该安装哪个版本,一个个试起来又觉得太麻烦的话,建议使用DLL修复工具,猜困陆这个工具是会在检测修复DirectX的同时顺穗顷便安装所有版本的VC++运行库的,也能解决msvcp之类的丢失问题。注意,必须是增强版,其他版没有VC++。


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

原文地址: http://outofmemory.cn/tougao/12315944.html

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

发表评论

登录后才能评论

评论列表(0条)

保存