导致此异常的原因是什么?将 VC++ 2010 与 libcurl 结合使用
What's causing this exception? Using VC++ 2010 with libcurl
我正在使用libcurl在vc++ 2010和得到这个错误:
类型为"System"的未处理异常。AccessViolationException"发生在4th .exe
附加信息:试图读写受保护的内存。这通常表明其他内存已损坏。
std::string DownloadFile(std::string Fname, std::string Furl)
{
CURL *curl;
CURLcode res;
const char *url = Furl.c_str();
curl = curl_easy_init();
if (curl) {
FILE * pFile;
pFile = fopen(Fname.c_str(),"wb");
if (pFile!=NULL) {
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, pFile);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, FALSE);
curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_func);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
char errbuf[CURL_ERROR_SIZE];
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
res = curl_easy_perform(curl);
std::string xres = curl_easy_strerror(res); //// HERE ////
curl_easy_cleanup(curl);
fclose(pFile);
return xres;
}
}
}
你知道我哪里错了吗?
线程'Win32 thread ' (0x86c)已退出,代码为0 (0x0).
在Fourth.exe中0x77a6d968 (ntdll.dll)的第一次机会异常:0xC0000005:访问冲突写入位置0x00000014.
类型为'System '的第一次异常。AccessViolationException"发生在4th .exe
'Fourth.exe':已加载'C:WindowsSysWOW64version.dll',导出加载。
类型为"System"的未处理异常。AccessViolationException"发生在4th .exe
附加信息:试图读写受保护的内存。这通常表明其他内存已损坏。
线程'Win32 thread ' (0x148c)已退出,代码为0 (0x0).
线程'Win32 thread ' (0x170c)已退出,代码为0 (0x0)。
线程"主线程"(0x83c)已退出,代码为0 (0x0)。
线程'Win32 thread ' (0x1174)已退出,代码为0 (0x0).
线程'Win32 thread ' (0xc74)已退出,代码为0 (0x0).
程序'[1232]Fourth.exe: Native'已退出,代码为0 (0x0)。
程序'[1232]Fourth.exe: Managed (v4.0.30319)'已退出代码0 (0x0).
它可能与SysWOW64 DLL和Win32线程冲突有关吗?
我把/MDd切换到/MD,它解决了这个问题,但不是没有添加一些其他!
- 双线程应用比单线程应用慢 C++ (VC++ 2010 Express).如何解决?
- 在VC 2010上使用SSL的libpq
- 区分 VC++ 2010 和更高版本的编译器版本
- VC++2010:显示打开的对话框挂起
- VC++ 2010:从 VC6++ 转换后显示打开对话框时出错
- 旧版 MFC 代码 (2005) 无法在 VC 2010 上编译
- 刷新MFC接口VC++2010
- 在VC++2008项目中使用VC++2010运行库
- C++程序是在VC++2010中编译的,而不是在Visual C++6.0中编译的
- VC++ 2010 "array is not a member of std"错误
- boost::bind 在 VC++ 2010 中绑定引发异常的函数时不起作用
- VC++2010搜索某个字符串的列表视图
- vc++2010/2012:std::包含unique_ptr编译器错误的结构的向量
- VC 2010可执行文件未在其他计算机上运行-无错误
- 这是VC++ 2010中的错误吗?
- 在 VC++ 2010 中使用个人静态库
- VC++编译器升级2010->2015重新定义; 'constexpr'说明符不匹配
- 为什么VC++ 2010 Express在这个程序中不需要stdio.h,而gcc++需要?
- 在 VC++ 2010 中传入常量向量
- 如何在KeyEventArgs中同时处理两个函数.VC++2010.