- 轻量级类Apple的CoreFoundation库,支持object、dictionary、array、string、number、date、data等常用对象,并且可以方便扩展自定义对象的序列化 。
- 支持对xml、json、binary以及apple的plist(xplist/bplist)格式序列化和反序列化 。并且实现自有的binary序列化格式, 针对明文进行了简单的加密,在不影响性能的前提下,序列化后的大小比bplist节省30% 。
- 提供file、directory、socket、thread、time等常用系统接口
- 提供atomic、atomic64接口
- 提供高精度、低精度定时器
- 提供高性能的线程池操作
- 提供event、mutex、semaphore、spinlock等事件、互斥、信号量、自旋锁操作
- 提供获取函数堆栈信息的接口,方便调试和错误定位
- 提供跨平台动态库加载接口(如果系统支持的话)
- 提供io轮询器,针对epoll, poll, select, kqueue进行跨平台封装
- 提供跨平台上下文切换接口,主要用于协程实现,切换效率非常高
- 支持zlib/zlibraw/gzip的压缩与解压(需要第三方zlib库支持) 。
- 支持utf8、utf16、gbk、gb2312、uc2、uc4 之间的互相转码,并且支持大小端格式 。
- 实现base64/32编解码
- 实现crc32、adler32、md5、sha1等常用hash算法
- 实现日志输出、断言等辅助调试工具
- 实现url编解码
- 实现位操作相关接口,支持各种数据格式的解析,可以对8bits、16bits、32bits、64bits、float、double以及任意bits的字段进行解析操作,并且同时支持大端、小端和本地端模式,并针对部分操作进行了优化,像static_stream、stream都有相关接口对其进行了封装,方便在流上进行快速数据解析 。
- 实现swap16、swap32、swap64等位交换操作,并针对各个平台进行了优化 。
- 实现一些高级的位处理接口,例如:位0的快速统计、前导0和前导1的快速位计数、后导01的快速位计数
- 实现单例模块,可以对静态对象、实例对象进行快速的单例封装,实现全局线程安全
- 实现option模块,对命令行参数进行解析,提供快速方便的命令行选项建立和解析操作,对于写终端程序还是很有帮助的
- 支持匹配和替换操作
- 支持全局、多行、大小写不敏感等模式
- 使用pcre, pcre2和posix正则库
推荐阅读
- 世界上最长的地下水溶洞 世界上规模最大的岩溶风景区
- 梦见自己手出血? 梦见自己的手大量出血是什么意思
- wordpress删除菜单多余的CLASS和ID沉余
- MD5破解原理
- 茶叶技术的三要素
- 南方礼仪中的茶俗及其创新
- 昔归冲泡方法
- 揭开 JavaScript 引擎的面纱
- 谈一谈HTTP和WebSocket的区别
- 茶叶技术三步法