我使用 制作了一个多线程 HTTP 代理libcurl
,问题是我的应用程序使用的 RAM 随时间增加(在响应 http 请求后)
我确信我释放了所有动态分配的变量,以及使用的标头列表libcurl
,我也在curl_easy_cleanup
每个请求之后运行。但是在调试我的应用程序后,我发现它curl_easy_cleanup
甚至连一个字节都没有释放任何东西(删除它后,应用程序使用相同数量的内存)
使用的内存在开始时迅速增加,然后逐渐增加(有时根本不增加)
应用程序释放大量内存的唯一时刻是我关闭浏览器时(但不是应用程序启动时使用的第一个内存量)。
Valgrind 并没有明确表示内存泄漏(一些可能的内存泄漏,但只有几个字节),就像free
,curl_easy_cleanup
curl_global_cleanup
根本没有任何影响。