应用程序无法正常启动(0xc000007b)的可能原因和解决办法

运行程序,什么都没看到,系统首先弹出出错信息提示框,简单且粗暴:

“应用程序无法正常启动(0xc000007b)”

文字意思很明确,但跟没说一样。于是我尝试调查一下这个类似某种暗语的0xc000007b含义究竟是什么,很遗憾,一无所获。(当然如果有哪位同学知道的话,不妨留言告知一下,非常感谢!)。尽管如此,也不妨碍来做个总结:

首先,0xc000007b这个错误一般发生在应用程序所依赖的动态链接库文件上。而且一般情况下,你的代码已经通过了编译和链接并生成了exe可执行文件。

因此,从这个角度出发,可以基本排除是你代码的问题。(否则也不会通过编译和链接的,不是么?)

那么剩下来问题的可能性就在你的exe文件所依赖的dll动态链接库上了。

根据我的经验,0xc000007b这个错误往往不会发生在你的exe所直接依赖的dll文件上,而是某个间接依赖的dll文件上。

两种可能:

一、这个间接依赖的dll文件缺失了,系统找不到;

二、这个间接依赖的dll文件和系统所能找到的这个同名的dll文件不是一回事:要么是版本不一致,要么是需要32位版本的实际是64位版本的,或者反过来。因此实际效果等同于文件缺失。

对于第一种可能,可以使用depends工具来帮助解决,缺什么补什么就是了。

真正麻烦的则是第二种情况,此时就只能细心一点慢慢比对了。不过好在解决问题的方向是明确的,剩下的就是耗费时间的问题了。

你可能感兴趣的:(Windows)