名称:curl_global_init

原型

#include <curl/curl.h>
CURLcode curl_global_init(long flags);

描述

这个函数设置libcurl需要的程序运行环境,可以把它看作一个的加载器扩展

在进程环境(所有代码共享内存地址空间的程序)下,libcurl其他所有函数被调用之前这函数至少需要被调用一次。在进程的生命周期内,这个环境设置是没有变化的,所以在同一个程序中,多次调用和只调用一次没有区别。

这个flags选项精确的告诉libcurl那些特性需要被初始化,这些特性可以按位异或,一般情况下都是使用 CURL_GLOBAL_ALL这个标志。除非你非常了解这个哭的内部原理,否则不建议使用其他参数。

这个函数不是线程安全的。千万不要在进程中的其他线程里面去调用。这并不是说使用libcurl不能使用多线程。curl_global_init()不是线程安全的,主要是因为它调用了其他函数库中的函数,而这些函数可能不是线程安全的,一般情况都是在进程刚开始的时候,没有创建其他线程之前调用curl_global_init()。

FLAGS

CURL_GLOBAL_ALL
CURL_GLOBAL_SSL
CURL_GLOBAL_WIN32
CURL_GLOBAL_NOTHING
CURL_GLOBAL_DEFAULT
CURL_GLOBAL_ACK_EINTR

返回值

当发生错误时会返回非0值,如果返回非0值,代表初始化失败了,不要使libcurl的其他功能

名称: curl_global_cleanup

原型

#include <curl/curl.h>
void curl_global_cleanup(void);

描述

这个函数释放 curl_global_init()已经获得的所有资源。同样这个函数也不是线程安全的。

警告

curl_global_cleanup不阻塞的等待任何被libcurl创建的线程终止(例如name resolving线程)。如果一个包含libcurl被动态的卸载,但是libcurl创建的线程仍然运行,这可能引起程序的崩溃。一般在整个程序(进程)结束之前调用这个函数释放资源,就不会有问题。

libcurl入门之相关接口函数curl_global_init/cleanup相关推荐

  1. libcurl入门之相关接口函数curl_easy_setopt

    名称 curl_easy_setopt 原型 #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLopti ...

  2. libcurl入门之相关接口函数curl_easy_cleanup

    名称 curl_easy_cleanup 原型 #include <curl/curl.h> void curl_easy_cleanup(CURL *handle); 描述 这个函数必须 ...

  3. 线程及其相关接口函数(Linux)

    目录 一.线程 1.线程相关接口函数 (1)创建线程 pthread_create() (2)结束线程 pthread_exit() (3)等待进程 pthread_join() 2.线程间通信 (1 ...

  4. System V 消息队列(一)—— 消息队列相关接口函数(msgget / msgctl)

    SystemV方案是在OS内核层面专门为进程间通信设计的一个方案,然后通过系统调用(system call)给用户提供通信接口.SystemV方案包含三种:共享内存.消息队列.信号量. 和System ...

  5. C++ 接口 函数导出_Matlab与C/C++混合编程、Visual C++与Matlab封装库互相调用相关要点...

    [版本说明] Visual Studio 2010 Matlab2014a 64bit Windows7 64bit 以下是我安装的 Matlab2014a 支持的 C++混合编译器的SDK版本(为了 ...

  6. linux路由相关函数,Linux 路由 学习笔记 之十一 输入、输出路由查找相关的接口函数...

    对于路由功能模块的学习,也已经很长时间了.关于路由项的创建与查找.策略规则相关的创建与查找.路由缓存的创建与查找,都是分开来分析的,没有说明这些模块是如何配合使用的,以及模块之间的联系.本节就分析一下 ...

  7. Android Bluetooth HF client相关接口以及定义

    [APP] 应用程序通过BluetoothManager和BluetoothAdapter来操作蓝牙相关接口 [JNI]AdaptorService 中打开蓝牙协议栈的代码片段 static void ...

  8. Hook Com接口函数

    标 题:  [原创]COM接口函数通用Hook方法 作 者: zhangluduo 时 间: 2014-12-08,22:34:20 链 接: http://bbs.pediy.com/showthr ...

  9. WinCE中串口驱动及接口函数介绍(转载)

    作者:ARM-WinCE 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分为MDD层和PDD层.MDD层对上层的Device Manager提供了标准的流设备驱动接口( ...

最新文章

  1. 学计算机出来的大佬,学计算机专业的大佬能否解答一下
  2. Python3 MySQL 数据库连接 - PyMySQL 驱动
  3. 利用套接字实现 CS 模型
  4. 如何远程比较两个系统里同一个ABAP类方法代码的差异
  5. englishpod主持人对话文本_Englishpod 23 | 主持人文本讲解
  6. h5键盘把页面顶走了_微信h5开发的坑
  7. Mysql的那些事儿(部分涉及数据库知识总结)
  8. 继腾讯、阿里、字节、快手等后,京东、有赞又爆大裁员,个别部门比例或达40%!...
  9. Teradata中的四舍五入问题
  10. 网站后台爆破工具:WebCrack
  11. 操作系统--进程和线程
  12. 【超详细】R语言实现各种数据可视化
  13. ACM河南第八届省赛题
  14. 微型计算机8字节,八位字节是什么意思
  15. python获取所有盘符_自动扫描所有本地磁盘,获取所有图片信息
  16. 王道数据结构课代表 - 考研数据结构 第五章 树和二叉树 究极精华总结笔记
  17. android 禁用触摸屏,animation时禁用所有触摸屏交互
  18. HTTP请求服务器 statuscode的状态码说明 (statuscode==500)
  19. 分布式技术原理与实战45讲--06 加餐1:如何准备一线互联网公司面试?
  20. 4.1-4.3 什么是矩阵 矩阵的基本运算及性质

热门文章

  1. 主机中的图片库传到虚拟机中
  2. 论文笔记《Directed Greybox Fuzzing》
  3. WebRTC之DTLS技术解析
  4. python代码写名字_必知必会系列_python代码优雅之道之代码命名约定
  5. 合工大计算机专业拟录取名单,合肥工业大学2021硕士研究生拟录取名单链接汇总...
  6. 笔记本用联通3G上网卡上网掉线
  7. 波特率/符号速率/传码率/数据速率/比特率/吞吐率/带宽
  8. 常见GPU卡精度支持一览表
  9. 给女儿的一封信--李开复
  10. 小白学做网云小程序笔记(1)