多线程使用libcurl

curl默认情况下有两个地方是线程不安全的, 需要特殊处理,

1是curl_global_init 这个函数必须单线程调用,

2是默认多线程调用https会莫名其妙的挂掉, 以下是网上的解决方案

https://curl.haxx.se/libcurl/c/opensslthreadlock.html

https://blog.csdn.net/jaylong35/article/details/6988690

https://www.jianshu.com/p/5b43cdd73d58

二 curl库只提供了dll文件, 并没有提供对应的导入库(即.lib文件, .dll.a不是对应的导入库, 这个要注意)

下面是用dll文件生成lib文件的方法

1 下载pexports工具

https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/

pexports.exe -v libxxx.dll > libxxx.def

2 用生成的def文件生成lib文件

将xxx.dll和xxx.def,放到一个文件夹中,启动“Visual Studio 2005 命令提示”

将工作目录切换到放有xxx.dll和xxx.def的文件夹中输入:

lib /def:xxx.def /MACHINE:x86

3 使用例子

https://www.cnblogs.com/zlcxbb/p/6006861.html

4 https方面

https://www.cnblogs.com/chenyangchun/p/6868102.html

 

原文地址:https://www.cnblogs.com/talenth/p/11924752.html