C通用基础库-Gear Lib
Gear Lib 是一组面向 IOT 及网络流媒体开发的通用C基础库,接口简洁易用,适用于物联网嵌入式设备端的开发,如 IOT 采集传感器,视频监控,设备端网络直播等场景。在MIT协议下授权使用。全部用POSIX C实现,目标是为了跨平台兼容linux, windows, android, ios。
适用于物联网,嵌入式,以及网络服务开发等场景。

Gear Lib 库内容包括:
数据结构
| libdict: 哈希字典 | libhash: linux内核原生哈希库 |
| libringbuffer: 循环缓冲 | libqueue: 数据队列 |
| librbtree: 内核rbtree | libsort: |
| libvector: 容器库 | libdarray: 动态数组 |
网络库
| librtsp: RTSP协议,适合IPCamera和NVR开发 | librtmpc: RTMP协议,适合推流直播 |
| libsock: Socket封装 | librpc: 远程过程调用库 |
| libipc: 进程间通信 | libp2p: p2p穿透传输 |
| libmqttc: MQTT客户端协议 | libhomekit: Apple homekit协议库 |
异步
| libgevent: 事件驱动 | libthread: 线程 |
| libworkq: 工作队列 |
I/O
| libstrex: 字符扩展 | libconfig: 配置文件库 |
| liblog: 日志库 | libfile: 文件操作库 |
| libsubmask: 网络地址翻译 |
多媒体
| libavcap: 音频视频捕获库 | libmp4: MP4录制解析库 |
| libjpeg-ex: | libmedia-io: 音频视频格式定义 |
系统抽象层
| libposix: windows/rtos/ios平台posix适配库 |
其他
| libdebug: 调试辅助库 | libhal: 硬件抽象层 |
| libplugin: 动态加载库 | libtime: 时间库 |
| libfsm: 有限状态机 |
最新版本:1.1
于2022年6月中旬发布的1.1.21更新日志如下:
[新增] 快速构建 C/C++ 工程的编译环境
[新增] httpd 服务的支持
[新增] utf2gbk,集合类的支持
[新增] avcap 捕获音视频的接口,统一 uvc/v4l2/Dshow/XCB linux 桌面截屏 /esp32 cam/linux pulseaudio 等接口
[修复] 跨平台编译的问题,支持 win32/linux/msys2 (mingw32/64)/raspberrypi/esp32 等环境的编译
[修复] libdict/libconfig/libstrex/libdarray/libposix/libworkq 等多处兼容性问题
码云主页
Github 主页