dangjun2011
dangjun2011
采纳率100%
2016-01-22 00:44

VS2013 使用openssl库后 程序无法正常启动0xc000007b

我的程序需要计算md5值,因此想使用openssl库来获取md5,好不容易装上了openssl,然后程序也编译完成了,结果运行exe时弹框 应用程序无法正常启动0xc000007b 。我的openssl编译的时候配置的是 perl Configure VC-WIN32 这应该是编译的32位吧,那我程序配置也是编译32位的,编译过了,为啥会出现这种无法启动的情况呢?
如果注释掉MD5_Init MD5_Update MD5_Final 程序就能运行,代码如下
MD5_CTX c;
unsigned char md5[17] = { 0 };
MD5_Init(&c);
while (1)
{
memset(tmpBuf, 0, sizeof(tmpBuf));
readLen = apkFile.Read(tmpBuf, sizeof(tmpBuf));
if (readLen>0)
{
file.Write(tmpBuf, readLen);
totalReadCnt += readLen;
//MD5_Update(&c, tmpBuf, readLen);
if (readLen < sizeof(tmpBuf))
break;//读取到文件尾
}
else if (readLen == 0)//读取到文件尾
{
break;
}
else
{
err.Format("文件读写出错! readLen=%d,totalReadCnt=%d,tmpBuf=%s", readLen, totalReadCnt, tmpBuf);
MessageBox(err);
return -1;
}
}
//MD5_Final(md5, &c);
我的电脑已经安装了DirectX11,难道跟DirectX有关系吗

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 5年前

    和dx应该没有关系。但是你应该以调试方式启动程序,而不是直接运行,找到出错的行和调用堆栈,才好分析。

    点赞 1 评论 复制链接分享
  • lx624909677 lx624909677 5年前

    debug模式按F5运行程序,蹦了之后点中断,看下堆栈调用窗口,找到出错的代码先

    点赞 评论 复制链接分享

为你推荐