如果出现问题需要curl_easy_cleanup()?

时间:2014-02-01 17:16:14

标签: c++ curl

当curl请求以错误结束时,是否需要使用curl_easy_cleanup(curl);?所以请在答案中查看代码:

how to properly reuse a curl handle

它有return 1;但在没有curl_easy_cleanup(curl);电话之前。好像一定是吗?是或否?我认为在提到的答案中有错误。感谢

1 个答案:

答案 0 :(得分:1)

为了直截了当地提出您的问题,我同意您的问题:如果您在超出范围并将curl_easy_cleanup(curl);返回到1后放置curl.h,则不会出现某种内存泄漏main()程序?

作为免责声明,我没有看过handle以及libcurl在程序退出后如何销毁其对象。

通常,当程序退出时,理论上如果在堆栈中则会自动释放内存。但是,如果在堆(或自由空间)中,程序员有责任解除分配并释放内存。

请记住curl_easy_cleanup()是一个可能动态分配内存的指针,并假设curl_global_cleanup()delete的目的都是{{1}}并重置指针使得它们不会成为悬空指针,仅仅通过代码,退出程序时出现错误,而不释放内存是内存泄漏的一个问题。