Botan在visual studio 2010下无法正常运行
第一次发帖向各位有心人进行求助。因为项目需要对一些数据进行加密解密所以就选择了Botan这个包含加解密算法库。去官方网站下载Botan源码,对其进行编译生成 头文件,botan.lib,botan.dll文件,将其进行导入测试,问题随之出现
测试代码只有以下一句话
Botan::LibraryInitializer init;//库的初始化操作,库中的操作依赖该对象的生命周期
当程序执行到此处的时候,会发生中断
提示信息
“botan32.exe 中的 0x770115ee 处有未经处理的异常: 0xC0000005: 读取位置 0x001e0000 时发生访问冲突”
跟踪进去进入函数
void * __cdecl _malloc_base (size_t size)
{
void *res = NULL;
// validate size
if (size <= _HEAP_MAXREQ) {
for (;;) {
// allocate memory block
res = _heap_alloc(size); //此处发生中断
// if successful allocation, return pointer to memory
// if new handling turned off altogether, return NULL
if (res != NULL)
{
break;
}
if (_newmode == 0)
{
errno = ENOMEM;
break;
}
// call installed new handler
if (!_callnewh(size))
break;
// new handler was successful -- try to allocate again
}
} else {
_callnewh(size);
errno = ENOMEM;
return NULL;
}
RTCCALLBACK(_RTC_Allocate_hook, (res, size, 0));
if (res == NULL)
{
errno = ENOMEM;
}
return res;
}
或者
void __cdecl _free_base (void * pBlock)
{
int retval = 0;
if (pBlock == NULL)
return;
RTCCALLBACK(_RTC_Free_hook, (pBlock, 0));
retval = HeapFree(_crtheap, 0, pBlock); //此处发生中断
if (retval == 0)
{
errno = _get_errno_from_oserr(GetLastError());
}
}
运行环境是WIN 7 64位,visual studio 2010,本人换过好几个botan的版本包括32位,64位的都出现类似的问题,望有心人能够帮助我进行问题的解决,或者是提供一套能够运行Boton的环境,不胜感激!