Gear Lib 是一组面向IOT及网络流媒体开发的C基础库,接口简洁易用,适用于物联网嵌入式设备端的开发,如IOT采集传感器,视频监控,设备端网络直播等场景。
Gear Lib库内容包括:
网络库
librtsp: RTSP协议,适合IPCamera和NVR开发 | librtmpc: RTMP协议,适合推流直播 | |
libskt: Socket封装 | librpc: 远程过程调用库 | |
libipc: 进程间通信 | libp2p: p2p穿透传输 | |
libmqttc: MQTT客户端协议 | libhomekit: Apple homekit协议库 |
数据结构
libdict: 哈希字典 | libhash: linux内核原生哈希库 |
libringbuffer: 循环缓冲 | libqueue: 数据队列 |
librbtree: 内核rbtree | libsort: |
libvector: 容器库 | libdarray: 动态数组 |
异步
libgevent: 事件驱动 | libthread: 线程 |
libworkq: 工作队列 |
I/O
libbase64: Base64/32 编解码 | libconfig: 配置文件库 |
liblog: 日志库 | libfile: 文件操作库 |
libstrex: | libsubmask: 网络地址翻译 |
多媒体
libuvc: USB摄像头库 | libmp4: MP4解析库 |
libjpeg-ex: | libmedia-io: 音频视频格式定义 |
系统抽象层
libposix4win: windows平台poxix适配库 | libposix4rtos: FreeRTOS平台poxix适配库 |
其他
libdebug: 调试辅助库 | libhal: 硬件抽象层 |
libplugin: 动态加载库 | libtime: 时间库 |
libfsm: 有限状态机 |
gitee 主页:https://gitee.com/gozfreee/gear-lib
github 主页:https://github.com/gozfree/gear-lib
修改 test_libbase64.c 文件 #include "libbase64.h" #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char **argv) { char target[100], target2[100]; char source[]="hel
Gear Lib 是一组面向IOT及网络协议的C基础库,支持嵌入式,以及网络服务开发等场景,并已支持ubuntu/rasberrypi/esp32开发板,内容包括: 数据结构 libdict: key-value 库 libhash: linux 内核原生哈希库 libringbuffer: 循环缓冲 libqueue: 数据队列 librbtree: linux 内核 rbtree libsor
来回发送消息是即时通讯的核心。虽然个人消息可以以数据包形式进行发送和接收,通常更容易的方式是:把消息的字符串当做一个org.jivesoftware.smack.Chat 类进行处理。 聊天 聊天会在两个用户之间创建一个新线程的消息(使用线程ID)。下面的代码片段演示了如何创建一个新的和用户的聊天,然后发送给他们一个消息: // Assume we've created an XMPPConnec
Gear为Java手机开发人员提供一个统一的基础开源框架,用于快速开发真正与实际设备无关的J2ME应用。主要特性包括:扩展性和可更换皮肤的窗口小 部件(widget)系统,多线程架构,基于事件的线程交互系统,LocationAPI ,网络通信处理功能,强大的字符串和图像公共类。 Widget Screenshots
问题内容: 我开始学习,阅读了一些教程,但是我有些困惑,不确定如何声明泛型方法。 当我使用泛型类型时,定义该方法的正确顺序是什么?我找到了此示例,何时需要使用尖括号,什么时候不需要? 问题答案: 问题是您的代码使用相同的字符A,但是在不同的地方有 几个 不同的“含义”: 需要大括号,因为您在这里说:Box使用通用类型,称为T。 *不带花括号的T go的 *用法 : 但是之后 正在引入 另一个 类型
Flight Gear(FlightGear) 是一个免费、开源、跨平台的飞行模拟项目。这个项目是为了打造一个复杂的飞行模拟框架,以便于有志于在这方面开发的人可以扩展这个基本的框架,打造自己的飞行模拟程序。
BuildGear 是一个轻量级的构建工具,用于构建嵌入式固件。 Its primary focus is to make it easy to create and maintain fully-customized embedded firmware. This is reflected in a straightforward commandline interface and suppor