MSVCP120D.dll引起的32位和64位程序运行区别

本人的第一篇技术博客,如有遗漏请见谅。
在没有装vs2013的电脑上(装了vcredist_x86),一个64位应用程序在运行时,弹出0xc000007b错误。而装了vs2013,可以运行。让人摸不着头脑,百度遍了也没找到具体问题,引出了下面操作。
肯定是vs2013安装了一些东西,从而程序可以运行。因为已经装了vc32位运行库vcredist_x86,判断可能是64位程序和32位运行库冲突,因此装了vcredist_x64,但问题依然存在。
查看exe文件夹中的几十个dll,无从下手。exe正常运行时,如果找不到需要的dll会提示缺少“.dll”,因此手动删除部分dll,双击运行exe,没有提示缺少“.dll”,还是弹出0xc000007b错误,直到删除msvcp120d.dll,再运行exe,提示缺少msvcp120d.dll。加上msvcp120d.dll,又提示0xc000007b。问题就出现在这个dll上,exe加载dll时,找到了名为msvcp120d.dll的dll,但是dll存在问题,终止加载其他dll。
问题来了,msvcp120d.dll是系统dll,作用是什么?
1. 运行库dll解析
msvcr120.dll是
MS = Microsoft
V = Visual
C = C program language
R = Run-time
120 = Version
msvcp120.dll是
MS = Microsoft
V = Visual

你可能感兴趣的:(0xc000007b,64位,32位,msvcp120d)