多線程使用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM