在构造函数中使用curl_easy_init会导致segfault
Using curl_easy_init in the constructor leads to segfault
当我在类中包装libcurl时,我面临的问题是:
Foo::Foo()
{
curl = curl_easy_init();
if (!curl)
throw std::runtime("Can't initialize libcurl");
}
char* Foo::GetPage(char *url)
{
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
curl_easy_setopt( curl, CURLOPT_WRITEFUNCTION, WriteData );
curl_easy_setopt( curl, CURLOPT_WRITEDATA, (void *)data);
CURLcode res = curl_easy_perform( curl );
}
我在GetPage函数的第一行得到了一个segfault(设置url)。如果我在GetPage中初始化curl,一切都好。还有人面临类似的问题吗?
变量正在失去其作用域。当curl变量进入GetPage函数时,请检查其值。
相关文章:
- C++中带有List类的迭代器Segfault
- GCC对可能有效的代码抛出init list生存期警告
- 使用Vulkan hpp vk::enumerateInstanceVersion()会导致segfault
- GLEW/GLUT:调用init并创建一个窗口后,取消初始化并重新初始化?
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- SegFault 同时使用 std::string::operator+= 和函数作为参数
- std::partition segfault issue
- OpenSSL: EC_POINT_set_compressed_coordinates_GFp segfault
- 使用 std::ios_base::Init 正确初始化全局变量
- Pybind11: init<> with lambda
- 为什么别名声明不是有效的 init 语句(/simple-declaration)?
- 检查nullptr是否100%保护内存布局不受segfault影响
- 结构 init:字符**类型的标量初始值设定项两边的大括号
- OpenCV Tracker 属性访问在 ARM 上因 SEGFAULT 而失败,但在 X86_64 中工作
- 为什么优化大型 std::vector 数组会导致 SegFault?
- C++segfault,可重复的例子
- 带有zip_source_buffer的libzip会导致数据损坏和/或segfault
- 为什么基于范围类型的大括号上循环init列表是非法的c++
- 导致SegFault C++的析构函数
- 从引用的Vector获取SEGFAULT