Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么';是什么导致了这个异常?使用VC++;2010年libcurl_C++_Visual Studio 2010_Exception_Libcurl - Fatal编程技术网

C++ 什么';是什么导致了这个异常?使用VC++;2010年libcurl

C++ 什么';是什么导致了这个异常?使用VC++;2010年libcurl,c++,visual-studio-2010,exception,libcurl,C++,Visual Studio 2010,Exception,Libcurl,我在VC++2010中使用libcurl时出现以下错误: 类型为“System.AccessViolationException”的未处理异常 发生在Fourth.exe中 其他信息:尝试读取或写入受保护内存。 这通常表示其他内存已损坏 你知道我哪里出错了吗 线程“Win32 thread”(0x86c)已退出,代码为0(0x0) Fourth.exe中0x77a6d968(ntdll.dll)处的首次偶然异常: 0xC0000005:访问冲突写入位置0x00000014 “System.Acc

我在VC++2010中使用libcurl时出现以下错误:

类型为“System.AccessViolationException”的未处理异常 发生在Fourth.exe中

其他信息:尝试读取或写入受保护内存。 这通常表示其他内存已损坏

你知道我哪里出错了吗

线程“Win32 thread”(0x86c)已退出,代码为0(0x0)

Fourth.exe中0x77a6d968(ntdll.dll)处的首次偶然异常: 0xC0000005:访问冲突写入位置0x00000014

“System.AccessViolationException”类型的第一次意外异常 发生在Fourth.exe中

'Fourth.exe':加载了'C:\Windows\SysWOW64\version.dll',导出 上膛了

类型为“System.AccessViolationException”的未处理异常 发生在Fourth.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,它解决了这个问题,但没有添加其他一些问题

请提供发生错误的可编译示例。它出现在这一行“std::string xres=curl\u easy\u strerror(res);”重复:
请提供一个发生错误的可编译示例。stackoverflow.com/help/mcve
。除此之外,有些代码路径没有
返回值,这就是UB。
res
在崩溃之前设置为什么?res为空,只是因为代码中有错误,但您不会向我们显示它。UB的意思是,但改变编译器开关不是解决方案。好吧,我的代码是零售加密应用程序,我不能分享它的大部分。。。只是需要一个特定错误的帮助,谢谢!这就是问题所在,因为cURL库似乎需要使用/MD开关而不是/MDd来编译,只是让其他人知道谁在使用cURL来使用/MD
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;
            }
        }
}