常见第三方软件库介绍

更新时间:
2024-01-09
下载文档

常见第三方软件库介绍

基础库

名称功能说明版本
libboostBoost 是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,在 1998 年由 Beman G.Dawes 发起倡议并建立。使用了许多现代 C++ 编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了 C++ 的功能和表现力,能够使 C++ 软件开发更加简洁、优雅、灵活和高效。 Boost 库可以与 C++ 标准库完美共同工作,并且为其提供扩展功能。大部分 Boost 库功能的使用只需要包括相应的头文件即可,少数需要连接库。v1.65.1
libjsoncppC++库,用来解析json。v1.7.7
libglibglib 库是 Linux 平台下最常用的 C 语言函数库。v2.46
libsafecC 安全库。v3.5
cJSONC 库,用来解析json。v1.7.15
libreadline命令行编辑器支持库。v6.3
libsunrpc用于远程过程调用。
libffi提供最底层的接口,在不确定参数个数和类型的情况下,根据相应规则,完成所需数据的准备,生成相应汇编指令的代码来完成函数调用。v3.3
libxml2一个XML的 C 语言版的解析器。v2.9.7
libexpatXML解析器。v2.0.1
libuuidlibuuid 是一个开源的用于生成 UUID(Universally Unique Identifier,通用唯一标识符)的库。
libgtestgtest 是一款由 Google 开发并开源的C++单元测试框架,对 C++ 的各种单元测试场景提供了完备的支持。
TslibTslib 为触摸屏驱动和应用层之间的适配层,其从驱动处获得原始的设备坐标数据,通过一系列的去噪、去抖、坐标变换等操作,来去除噪声并将原始的设备坐标转换为相应的屏幕坐标。
Sed面向流的非交互式文本编辑器。Sed(流编辑器)并不是一个真正的文本编辑器或文本处理程序。相反,它被用来过滤文本,也就是说,它接受文本输入并对其执行一些操作(或一组操作),然后输出修改后的文本。v4.5
liblualua 脚本的支持库。v5.2.4
GlogGoogle Glog 是 Google 的一个开源库,用于实现应用级别的 logging。 它提供了一系列类似于C++流风格的 loggingAPI,以及一些预定义的宏。它有点类似于 C 里面的 assert,但是比它具备更丰富的输出信息以及使用灵活性。v0.3.5x
libeasyloggerEasyLogger 是一款超轻量级(ROM<1.6K, RAM<0.3K)、高性能的 C/C++日志库。v1.0.0
syslogd这是原始 Debian/Ubuntu syslog 守护进程的延续,通过 NetBSD 和 FreeBSD 对 RFC3164 和 RFC5424 的支持进行了更新。该包包含了 libsyslog 的动态库与静态库,syslog.h 头文件,syslogd 守护进程,和一个名为 logger 的命令行工具。
libzlogzlog 是一个高性能、线程安全、灵活、概念清晰的纯 C 日志函数库。v1.2.15
cracklib用于限制密码长度的同时对密码的复杂程度进行管理的 C 语言函数库,可用于 “passwd” 类程序。v2.4.9
LibeventLibevent 是一个用 C 语言编写的、轻量级的开源高性能事件通知库。v2.0.22
protobuf-cppProtobuf 即 Protocol Buffers,是 Google 公司开发的一种跨语言和平台的序列化数据结构的方式,是一个灵活的、高效的用于序列化数据的协议。v3.12.3x
tar基于 tar-1.12 版本移植至 SylixOS,目前仅可作为打包解包使用。v1.12
zlib通用的数据压缩库。v1.2.11x
libicu字符编码转换库。v2.4

数学库

名称功能说明版本
libeigenEigen 是一个C++开源线性代数库。提供有关矩阵的的线性代数运算,解方程等功能。
OpenBLASOpenBLAS 是一个优化的基础线性代数库,许多常见的数值软件均采用兼容 BLAS 规范的实现库来进行线性代数计算,比如 Matlab, Numpy, Mathematica。
libfftw3FFTW (the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准 C 语言程序集, 其由 MIT 的 M.Frigo 和 S. Johnson 开发。可计算一维或多维实数和复数据以及任意规模的 DFT,并且还支持离散余弦变换 (DCT)、离散正弦变换 (DST) 和离散哈特莱变换 (DHT) 。FFTW 运行速度快,其性能远优于目前其他的免费 DFT 库,支持多线程,能够在不同的平台上移植。v3.3.9
飞腾 fftw 数学库飞腾快速傅里叶变换数学库。

多媒体

名称功能说明版本
libx264x264 是一个开源的软件库和应用程序,用于将视频流编码为H.264/MPEG-4 AVC格式。v1.6.0
LibtiffLibtiff 是一个用来读写标签图像文件格式(简写为 TIFF)的库。v4.0.2
libpnglibpng 是一款 C 语言编写的比较底层的读写 PNG 文件的跨平台的库。v1.6.24
libjpeglibjpeg 是一个完全用 C 语言编写的库,包含了被广泛使用的 JPEG 解码、JPEG 编码和其他的 JPEG 功能的实现。v9.0
libjasperJasper 解码库v2.0
libjpeg-turbolibjpeg-turbo 图像编解码器,使用了 SIMD 指令(MMX,SSE2,NEON,AltiVec)来加速 x86,x86-64,ARM 和 PowerPC 系统上的 JPEG 压缩和解压缩。在这样的系统上,libjpeg-turbo 的速度通常是 libjpeg 的 2-6 倍,其他条件相同。在其他类型的系统上,凭借其高度优化的霍夫曼编码,libjpeg-turbo 仍然可以大大超过 libjpeg。在许多情况下,libjpeg-turbo 的性能可与专有的高速 JPEG 编解码器相媲美。v2.1.2
libyuvlibyuv 是 Google 开源的实现各种 YUV 与RGB之间相互转换、旋转、缩放的库。它是跨平台的,可在 Windows、Linux、Mac、Android 等操作系统,x86、x64、ARM 架构上进行编译运行,支持 SSE、AVX、NEON 等 SIMD 指令加速。
libsalsaSALSA-Lib 是一个小型、轻量的 ALSA 库版本,主要用于资源有限的嵌入式系统。v0.9.0
FFmpegFFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。 采用 LGPL 或 GPL 许可证。 它提供了录制、转换以及流化音视频的完整解决方案。v4.0.5

GUI

名称功能说明版本
Qt5由于 Qt5 版本的稳定发展与广泛应用,为了满足客户的使用需求。经过多轮的测试验证,基于 Qt5.12.X 长期稳定支持版的 RealEvo-Qt5SylixOS 移植成功。RealEvo-Qt5SylixOS 集成了 Qt Creator4.7.2 的 SylixOS 插件、各种类型处理器上的基于 LGPL 协议的 Qt5 共享库、支持 Python 的 GDB 调试工具、Qwt 等。提供全系列硬件平台的支持,包括:ARM、AArch64、MIPS64、PowerPC、x86、x64等。SylixOS 插件使得 Qt5 Creator 几乎零配置就可以开发 SylixOS 上的 Qt5 应用程序,一键部署 Qt5 共享库到 SylixOS 设备使得 Qt5 应用程序环境的配置变得异常简单,一键部署、运行、调试、分析 Qt 应用程序极大地提升了开发者的效率。同时,RealEvo-Qt5SylixOS 集成了各种类型处理器上基于 LGPL 协议的 Qt5 共享库,既使得开发者免于编译 Qt5,将精力集中于开发 Qt5 应用程序上。v5.12.9
Qt42013 年 3 月,Qt4 被移植到 SylixOS 嵌入式实时操作系统,SylixOS 系统成为全球极少数几个支持 Qt4 的嵌入式实时操作系统。RealEvo-QtSylixOS 是北京翼辉信息技术有限公司专门为开发 SylixOS 系统上的 Qt4 应用程序而推出的软件。RealEvo-QtSylixOS 集成了 Qt Creator 的 SylixOS 插件、各种类型处理器上的基于 LGPL 协议的 Qt 共享库、支持 Python 的 GDB 调试工具、Qwt 等。提供全系列硬件平台的支持, 包括:ARM、AArch64、MIPS64、PowerPC、x86、x64等。SylixOS 插件使得 Qt Creator 几乎零配置就可以开发 SylixOS 上的 Qt 应用程序,一键部署 Qt 共享库到 SylixOS 设备使得 Qt 应用程序环境的配置变得异常简单,一键部署、运行、调试、分析 Qt 应用程序极大地提升了开发者的效率。同时,RealEvo-QtSylixOS 集成了各种类型处理器上基于 LGPL 协议的 Qt 共享库,既使得开发者免于编译 Qt,将精力集中于开发 Qt 应用程序上。v4.8.7
emWinSEGGER 公司开发的 emWin 旨在为使用图形显示(如 EPD、OLED 和 LCD)的应用程序提供一个有效的,独立于处理器和显示控制器的图形用户界面。
MicroWindowsMicroWindows 是一个开放源码的嵌入式GUI项目,目的在于把现代图形视窗环境的特性引入到小型设备上。
TouchGFXTouchGFX 是一款轻量免费的嵌入式GUI,针对 STM32 系列进行了特殊优化(推荐用于 MS-RTOS)。
LVGLLVGL 是一个开源图形库,提供创建嵌入式GUI所需的一切,具有易于使用的图形元素、优美的视觉效果和较低的内存占用。
libwaylandWayland 是一个桌面的显示服务器协议和在 Linux 上实现这个协议的软件库。v1.16.0
TD 嵌入式图形软件系统武汉蓝星 TD GUI-Engine 用于 TD 软件与服务生态的底层核心,它拥有一套完整的嵌入式图形用户接口编程框架,属于嵌入式软件系统的中间件产品,即嵌入式图形引擎。该引擎特别为嵌入式系统优化了窗口系统、图形渲染等多方面功能模块,适用于各软硬件平台,以用于在嵌入式设备中呈现由 TD Realizer 完成的设计内容。v1.0

AI与机器视觉

名称功能说明版本
OpenCVOpenCV 是一个使用高度优化的 C/C++代码编写的计算机视觉库。它利用了后台的多处理功能。它汇集了大量经过开发人员测试和验证的算法。v3.2.0
TengineTengine 是 OPENAILAB 针对前端智能设备开发的软件开发包,核心部分是一个轻量级,模块化,高性能的 AI 推理引擎,并支持用 DLA、GPU、xPU 作为硬件加速计算资源异构加速。v1.4
Tensorflow LiteTensorflow Lite 是 Google Tensorfow 的嵌入式版本,仅支持推理,不支持模型学习。v3.0
libncnnncnn 是一个为嵌入式平台极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑嵌入式平台的部署和使用。无第三方依赖,跨平台,嵌入式cpu的速度快于目前所有已知的开源框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将AI带到你的指尖。ncnn 目前已在腾讯多款应用中使用,如 QQ,Qzone,微信,天天P图等。

加密/解密

名称功能说明版本
OpenSSLOpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。OpenSSL 整个软件包大概可以分成三个主要的功能部分:SSL 协议库、应用程序以及密码算法库。v1.1.1g
Mbed TLSMbed TLS 库提供了一组可单独使用和编译的加密组件。
GmSSLGmSSL 是一个开源的密码工具箱,支持 SM2/SM3/SM4/SM9/ZUC 等国密(国家商用密码)算法。v2.5.4
Base58Base58 是用于 Bitcoin 中使用的一种独特的编码方式,主要用于产生 Bitcoin 的钱包地址。
libsecp256k1优化了曲线 secp256k1 上 ECDSA 签名和秘密/公钥操作的 C 库。

通讯协议

名称功能说明版本
net-snmpSNMP 是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议"。SNMP 是一种简单网络管理协议,它属于 TCP/IP 五层协议中的应用层协议,用于网络管理的协议。SNMP 主要用于网络设备的管理。由于 SNMP 协议简单可靠,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。现 net-snmp 已经具备服务端和客户端功能(包括 trap),客户端可解析接收到的标准协议报文,支持用户自定义 mib 节点。另使用时需在 bsp 中关闭 SNMP 功能。v5.8
libuorb翼辉信息重写的 uorb 库,兼容 uorb 的API。v1.0.0
libnanomsgnanomsg 库是几个“可伸缩性协议”的高性能实现。这些可伸缩性协议是轻量级的消息传递协议,可用于解决许多非常常见的消息传递模式,如 request/reply, publish/subscribe, surveyor/respondent 等。这些协议可以在各种传输协议上运行,比如 TCP、UNIX 套接字,甚至 WebSocket。v1.1.5
libiceice(The Internet Communications Engine)是一个面向对象的RPC框架,它可以帮助您轻松构建分布式应用程序。Ice 允许您将精力集中在应用程序逻辑上,由它负责与网络编程底层接口的所有交互。Ice 可以帮助你完成打开网络,数据的序列化与反序列化,网络重连等诸多细节。v3.7.1
trdp列车实时以太网协议。
libmodbuslibmodbus 是一个快速且可移植的 Modbus 库,支持传统的 RS-232、RS-422、RS-485 和以太网设备。v3.1.7
ZRDDS臻融数据分发服务 DDS 系统软件是臻融科技针对分布式系统集成领域推出的一款中间件产品, 是对 OMG DDS 规范的完整实现,臻融科技对该产品拥有完全自主知识产权。v2.2.5
云行一体化协议栈(YX-PIS IEC61850 )YX-PIS 是一套简便高效的“真正的 IEC61850 协议栈”。v1.68

系统工具

名称功能说明版本
InterVectorMeasure中断时长测试工具。v1.0.0
sperf非入侵式性能分析工具。自实现
gtestGoogle 测试框架。
ZmodemZmodem 协议工具。
libxemail电子邮件发送工具。自实现
pciutilsPCIe 工具集。v3.5.6
SNTPSNTP 时间同步工具。
ziptool压缩/解压缩命令的工具。v3.0.0
soem简单的开源以太网 Master。v1.3.1
libsqlite3SQLite 数据库的支持库。v3.12.2
UnQLiteUnQLite 是一个嵌入式的软件库,实现了自容器、无服务端、零配置和支持事务的 NoSQL 数据库引擎。v1.1.6
unixODBCunixODBC 为非 MS Windows 平台上 ODBC 的标准。
LevelDBLevelDB 是一个 Google 实现的非常高效的 KV 数据库。
DM8DM8 是达梦公司在总结DM系列产品研发与应用经验的基础上,坚持开放创新、简洁实用的理念,推出的新一代自研数据库。DM8 吸收借鉴当前先进新技术思想与主流数据库产品的优点,融合了分布式、弹性计算与云计算的优势,对灵活性、易用性、可靠性、高安全性等方面进行了大规模改进,多样化架构充分满足不同场景需求,支持超大规模并发事务处理和事务-分析混合型业务处理,动态分配计算资源,实现更精细化的资源利用、更低成本的投入。一个数据库,满足用户多种需求,让用户能更加专注于业务发展。
达梦新云数据库软件(For Redis)达梦新云数据库(For Redis)是达梦数据技术(江苏)有限公司自主研发的兼容 Redis 的 KV 缓存型数据库产品,它兼容 Redis 5.0 版本通信协议、主要的 5 种数据结构以及基于这 5 种数据结构的操作命令,产品主要性能指标达到甚至超过开源 Redis 版本,可以满足越来越多用户对使用自主可控 Key-Value 存储系统的需求,避免使用开源产品技术发展不可控、潜在的数据丢失等缺点,满足用户业务对具有自主可控、高性能、高可靠、高可扩展性 Key-Value 存储系统的需求。v21.0
天宇数流控制系统(bitsflow)友友天宇的天宇数流控制系统是一款支持跨域复杂网络环境下的可靠通信,实现复杂系统内多组件无中心化的分布式协同,完成多组件间的复杂事件处理以及支撑分布式应用快速开发的系统软件。其核心能力是解决大规模分布式系统中“一对一、一对多、多对一、多对多”等多种复杂交互模式中数据一致性的问题,确保数据交互的完整性、顺序性、原子性和隔离性。v1.0
焬窗-智能可重构操作系统(E-Spectra)成都谐盈针对基于 SCA(软件通信体系结构)的软件定义无线电集成开发工具、基础软件、验证平台。
stackChkHelperstackChkHelper 是一个用来帮忙检测线程栈问题的工具,使用此工具可以将需要保护的线程栈在线程不被调用时保护起来,一旦有其他线程踩到当前线程栈时,将会产生异常,从而可以方便定位问题。v1.0.3-rc1

网络工具

名称功能说明版本
libnDPIextensions.nDPI 是一个用于 deep-packet 的开源库。基于 OpenDPI,它包括 ntop 扩展。v2.5.0
CurlCurl 是一个命令行工具,用于传输用 URL 语法指定的数据,支持:DICT、 FILE、FTP、FTPS、GOPHER、GOPHERS、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3 等协议。
NTPNTP 服务端, 客户端和其它相关程序。v4.2.8
dhcpserverDHCP 服务。v1.5
libnopollnoPoll 是一个 WebSocket 的开源实现,使用 ANSIC 编写,可用于构建纯 WebSocket 解决方案和为已有的面向 TCP 的应用程序提供 WebSocket 支持。v0.4.3.b311
tcpdumptcpdump 是一款强大的网络抓包工具。v4.8.1
OpenSSHOpenSSH 是 SSH(Secure SHell) 协议的免费开源实现。SSH 协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如 telnet(终端仿真协议)、rcpftp、rlogin、rsh 都是极为不安全的,并且会使用明文传送密码。OpenSSH 提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。v7.9
dnspod-srdnspod-sr 是一个运行在 Linux 平台上的高性能的递归DNS服务器软件,具备高性能、高负载、易扩展的优势,非 BIND 等软件可以比拟。
QuaggaQuagga 是管理 IPv4 和 IPv6 路由协议的免费软件。v1.2.2
rsmb非常小的 MQTT 代理。v1.0.0
paho-mqtt-embedded-c用于嵌入式系统的 Paho MQTT C 客户端库。Paho 是一个 Eclipse 物联网项目。v10
libzmqZMQ 是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。v1.0.0
InetutilsInetutils 是一些常见的网络程序。v1.4.0
kidVPN世界上最小的VPN服务器和客户端(适用于 SylixOS 和 Linux)。v1.0.0

Wi-Fi子系统

名称功能说明版本
hostapdhostapd 是用户态用于 AP 和认证服务器的守护进程。实现 IEEE 802.11 相关的接入管理,负责控制管理 stations 的接入和认证。hostapd 中包含一个基于文本的客户端工具 hostapd_cli,即 hostapd 可以作为一个背景服务进程,处理 AP 相关的操作,而 hostapd_cli 作为前台控制角色,提供给用户一个动态控制 AP 工作的方式。v2.9
wpa_supplicantwpa_supplicant 是用于自动连接无线网络的工具软件。借助这个工具,用户不必理解 SSID 与 WEP、WPA 和 WPA2 及其相关密码之间的关系也可以通过 wpa_supplicant 便捷的连接无线网络。 wpa_cli 则是 wpa_supplicant 的客户端程序,即 wpa_supplicant 可以作为一个背景服务进程,处理 STA 相关的操作,而 wpa_cli 作为前台控制角色,提供给用户一个动态控制 STA 工作的方式。v2.9
cfg80211cfg80211 是用于对无线设备进行配置管理的内核模块。cfg80211 & nl80211 基于消息机制,使用 netlink 接口。v1.0.1-rc1
mac80211mac80211 是内核模块,是驱动开发者可用于为 softmac 无线设备写驱动的框架。mac80211 在内核空间实现 STA 模式。在用户空间实现 AP 模式。mac80211 向上提供 2 类接口:数据和管理。管理无线连接,发起认证,连接,信道扫描等管理功能。v1.0.1-rc1
netlinknetlink 是主要用于用户空间和内核空间的通信协议,也可用于进程间通讯,特点是可以实现双工通信。v1.0.1-rc1
libnl-tinylibnl-tiny 用于用户态程序,提供了通过 netlink socket 连接所需要的基础函数, 用于处理 socket 的链接和断开、数据收发、消息创建分析,提供用户可定制接收状态机,并提供一种抽象的数据类型框架,用于简化 netlink 协议对象的实现。v1.0.1-rc1
iwiw 是基于 nl80211 的用于无线设备的CLI配置实用程序,支持所有新的无线驱动程序,用于取代无线扩展接口的旧工具 iwconfig。v1.0.1-rc1

GIS

名称功能说明
GEOSGEOS是一个计算几何的C/C++库,主要关注地理信息系统(GIS)软件中使用的算法。它实现了OGC简单要素几何模型,并提供了该标准以及许多其他标准中的所有空间函数。GEOS是PostGIS、QGIS、GDAL、Shapely和许多其他软件的核心依赖项。
GDALGDAL(Geospatial Data Abstraction Library)是一个在 X/MIT许可协议open in new window 下的开源栅格空间数据转换库。它利用抽象 数据模型open in new window 来表达所支持的各种 文件格式open in new window 。它还有一系列命令行工具来进行 数据转换open in new window 和处理。
libgdipluslibgdiplus是一个Mono库,用于对非Windows操作系统提供GDI+兼容的API,libgdiplus是mono中的System.Drawing依赖的一个组件,用于显示web页面基本颜色等。可用于生成netcore验证码,处理图片等。
proj4proj是开源 GISopen in new window 最著名的地图投影库,它专注于地图投影的表达,以及转换,许多GIS开源软件的投影都直接使用Proj.4的库文件。GDAL中的投影转换函数(类CoordinateTransformation中的函数)也是动态调用该库函数的。
国遥GIS支持
中电15所gis支持
文档内容是否对您有所帮助?
有帮助
没帮助