libcurl.a静态库,需要配合ssl,crypto 一起使用,否则在编译的时候,会报很多未识别的错误;

本文主要介绍了libcurl静态库的使用方法,特别是如何通过配置选项禁用不必要的功能以减少资源占用。文中还详细记录了一些常见问题及解决方案,例如正确处理异步回调中curl_easy对象的释放,以及如何避免在multi模式下添加新句柄时出现的数据不完整问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

libcurl.a静态库,需要配合ssl,crypto 一起使用,否则在编译的时候,会报很多未识别的错误

一般情况下,可以直接通过控制 libcurl.a的编译选项,取消不需要的库,推荐:

./configure --without-ssl --disable-ldap --without-nss --without-libssh2 --enable-static

使用备注:

项目中用的异步无阻塞,其中碰到的坑大体记录一下,

①收到回调的curl_easy,不能直接给释放掉,需要先加到队列中,一起释放,先从multi中移除easy句柄,调用curl_multi_remove_handle

然后在释放easy空间,调用curl_easy_cleanup

②在multi处理一些句柄的时候,在添加新的easy进来,后边添加进来的处理时候会有错误,碰到的错误是,post发送的头被截断了,不完整

解决方法,使用最新的libcurl库,就正常了

新版本的官方介绍文档中,明确写了,有正在运行的easy句柄,也可以继续加入新的句柄进来,互不影响。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值