libcurl入门之相关接口函数curl_global_init/cleanup
名称: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相关推荐
- libcurl入门之相关接口函数curl_easy_setopt
名称 curl_easy_setopt 原型 #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLopti ...
- libcurl入门之相关接口函数curl_easy_cleanup
名称 curl_easy_cleanup 原型 #include <curl/curl.h> void curl_easy_cleanup(CURL *handle); 描述 这个函数必须 ...
- 线程及其相关接口函数(Linux)
目录 一.线程 1.线程相关接口函数 (1)创建线程 pthread_create() (2)结束线程 pthread_exit() (3)等待进程 pthread_join() 2.线程间通信 (1 ...
- System V 消息队列(一)—— 消息队列相关接口函数(msgget / msgctl)
SystemV方案是在OS内核层面专门为进程间通信设计的一个方案,然后通过系统调用(system call)给用户提供通信接口.SystemV方案包含三种:共享内存.消息队列.信号量. 和System ...
- C++ 接口 函数导出_Matlab与C/C++混合编程、Visual C++与Matlab封装库互相调用相关要点...
[版本说明] Visual Studio 2010 Matlab2014a 64bit Windows7 64bit 以下是我安装的 Matlab2014a 支持的 C++混合编译器的SDK版本(为了 ...
- linux路由相关函数,Linux 路由 学习笔记 之十一 输入、输出路由查找相关的接口函数...
对于路由功能模块的学习,也已经很长时间了.关于路由项的创建与查找.策略规则相关的创建与查找.路由缓存的创建与查找,都是分开来分析的,没有说明这些模块是如何配合使用的,以及模块之间的联系.本节就分析一下 ...
- Android Bluetooth HF client相关接口以及定义
[APP] 应用程序通过BluetoothManager和BluetoothAdapter来操作蓝牙相关接口 [JNI]AdaptorService 中打开蓝牙协议栈的代码片段 static void ...
- Hook Com接口函数
标 题: [原创]COM接口函数通用Hook方法 作 者: zhangluduo 时 间: 2014-12-08,22:34:20 链 接: http://bbs.pediy.com/showthr ...
- WinCE中串口驱动及接口函数介绍(转载)
作者:ARM-WinCE 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分为MDD层和PDD层.MDD层对上层的Device Manager提供了标准的流设备驱动接口( ...
最新文章
- 学计算机出来的大佬,学计算机专业的大佬能否解答一下
- Python3 MySQL 数据库连接 - PyMySQL 驱动
- 利用套接字实现 CS 模型
- 如何远程比较两个系统里同一个ABAP类方法代码的差异
- englishpod主持人对话文本_Englishpod 23 | 主持人文本讲解
- h5键盘把页面顶走了_微信h5开发的坑
- Mysql的那些事儿(部分涉及数据库知识总结)
- 继腾讯、阿里、字节、快手等后,京东、有赞又爆大裁员,个别部门比例或达40%!...
- Teradata中的四舍五入问题
- 网站后台爆破工具:WebCrack
- 操作系统--进程和线程
- 【超详细】R语言实现各种数据可视化
- ACM河南第八届省赛题
- 微型计算机8字节,八位字节是什么意思
- python获取所有盘符_自动扫描所有本地磁盘,获取所有图片信息
- 王道数据结构课代表 - 考研数据结构 第五章 树和二叉树 究极精华总结笔记
- android 禁用触摸屏,animation时禁用所有触摸屏交互
- HTTP请求服务器 statuscode的状态码说明 (statuscode==500)
- 分布式技术原理与实战45讲--06 加餐1:如何准备一线互联网公司面试?
- 4.1-4.3 什么是矩阵 矩阵的基本运算及性质