每日复盘之Dll动态库应用报错0xc000007b
- 关于dll单步调试
windows动态库可静态和动态调用,静态调用需dll文件和lib,动态只需要dll。
静态调用若生成dll是debug版本,可以跟进去调试,前提是dll放在调用工程的debug下。
- 0xC00007b应用程序无法启动
1.22复盘之32位和64位dll的调用配置
windows调用32位dll是,配置平台选择Win32即可,调用64位dll时,平台需要选择x64,同时会在解决方案的目录下新建x64目录。
今天在win10上又碰到了0xc00007b的问题,debug版本还没有解决。release需要再验证。
- 解决0xC00007b问题
网上查询得到大部分的建议是让装一个工具,可开发机上跑起来没有问题,开发机上也没装什么工具,而且程序员一般不相信工具能解决BUG,即使能解决,也不治本,所以没有理会这个方法。
接着看到一个回答说到了这个问题的本质,应用程序依赖的dll库版本不对。比如需要mfc110ud.dll,开发机上这个库就存在两个版本,一个是32位,一个64位的,一般存放在不同的目录,64位的库可以在vs的安装目录下有一个X64的目录可以找到,32位的可能在SYSTEM32下就有,具体可以搜索一下。
找到之后,根据自己实际使用的环境,选择对应版本的dll库即可解决。
附:dll动态库调用常见报错问题
1、无法定位程序XXXX方法接入点于动态链接库上
解决思路:生成的动态库中接口不全,建议用depends查看