关于程序员:OpenHarmony啃论文俱乐部开源鸿蒙引用的三方开源软件梳理3

5次阅读

共计 5840 个字符,预计需要花费 15 分钟才能阅读完成。

往期分享

OpenHarmony 啃论文俱乐部—盘点开源鸿蒙三方库【1】
OpenHarmony 啃论文俱乐部——盘点开源鸿蒙第三方组件(第三方库)【2】

OpenHarmony third_party 三方库:

在 linux 下关上 OpenHarmony3.2Beta1 源码 third_party 目录下,可能看到如下 115 个目录:

$$ $$

在 third_party 目录下关上终端输出 tree -L 1失去 third_party 下 115 个引入的三方库目录

.
├── abseil-cpp
├── benchmark
├── boost 
├── boringssl
├── bounds_checking_function
├── bzip2
├── cares
├── cef
├── chromium
├── cJSON
├── cmsis
├── css-what
├── curl
├── e2fsprogs
├── EGL  
├── ejdb 
├── eudev 
├── exfat-utils 
├── expat 
├── f2fs-tools 
├── FatFs
├── ffmpeg 
├── flatbuffers
├── flutter 
├── FreeBSD 
├── freetype 
├── fsck_msdos 
├── gettext
├── giflib 
├── glib
├── gn 
├── googletest 
├── gptfdisk 
├── grpc 
├── gstreamer 
├── harfbuzz   
├── icu 
├── iniparser 
├── iowow  
├── jerryscript 
├── jinja2 
├── jsframework 
├── json 
├── jsoncpp 
├── libcoap 
├── libdrm 
├── libevdev 
├── libexif 
├── libffi 
├── libinput 
├── libjpeg 
├── libnl 
├── libphonenumber 
├── libpng 
├── libpsl  
├── libsnd
├── libsoup
├── libunwind
├── libusb
├── libuv
├── libwebsockets
├── libxkbcommon
├── libxml2
├── littlefs
├── ltp
├── lwip 
├── lz4 
├── markupsafe 
├── mbedtls 
├── mindspore
├── mingw-w64
├── minimp3
├── minimp4
├── mksh
├── mtdev 
├── musl 
├── newfs_msdos
├── nghttp2
├── ninja 
├── node 
├── ntfs-3g 
├── NuttX 
├── openGLES
├── openh264 
├── openmax
├── openSLES
├── openssl
├── optimized-routines
├── parse5
├── pcre2 
├── pixman
├── popt
├── protobuf
├── pulseaudio 
├── python
├── PyYAML
├── qrcodegen
├── quickjs
├── re2
├── selinux
├── skia
├── sqlite 
├── toybox 
├── typescript
├── typescript_eslint
├── tzdata
├── uboot
├── unity
├── wayland-ivi-extension
├── wayland-protocols_standard
├── wayland_standard
├── weex-loader
├── weston
├── wpa_supplicant
└── zlib
115 directories, 0 files

abseil-cpp

  • Abseil 是 C ++ 库代码的开源汇合,旨在加强规范库 C++。Abseil 库代码是从 Google 本人的 C ++ 代码库中收集的,通过了宽泛的测试和生产应用,并且与日常编码生存中所依赖的代码雷同。
  • 在某些状况下,Abseil 提供 C ++ 规范中短少的局部。

OpenHarmony third_party_abseil-cpp 仓库:https://gitee.com/openharmony…
abseil-cpp 主页:https://abseil.io/

benchmark

benchmark 是一个由 Google 开发的基于 googletest 框架的 c ++ benchmark 工具,它易于装置和应用,并提供了全面的性能测试接口。

OpenHarmony third_party_benchmark 仓库:https://gitee.com/openharmony…
benchmark 主页:https://github.com/google/ben…

bounds_checking_function

  • 遵循 C11 Annex K (Bounds-checking interfaces)的规范,选取并实现了常见的内存 / 字符串操作类的函数,如 memcpy_s、strcpy_s 等函数。
  • 由 openeuler 的 libboundscheck 移植到 openHarmony 得来。

OpenHarmony third_party_bounds_checking_function 仓库:https://gitee.com/openharmony…
bounds_checking_function 主页:https://gitee.com/openeuler/l…

cares

  • c-ares 是用于异步 DNS 申请(包含名称解析)的 C 库。
  • 它实用于须要执行 DNS 查问而不阻塞或须要并行执行多个 DNS 查问的应用程序。此类应用程序的次要示例是与多个客户端通信的服务器和具备图形用户界面的程序。

OpenHarmony third_party_cares 仓库:https://gitee.com/openharmony…
cares 主页:https://c-ares.org/

cef

  • Chromium Embedded Framework(CEF)是一个简略的框架,用于在其余应用程序中嵌入基于 Chromium 的浏览器。
  • CEF 反对多种编程语言和操作系统,并可轻松集成到新的和现有的应用程序中。它从头开始设计,同时思考了性能和易用性。根本框架包含通过本机库公开的 C 和 C++ 编程接口,这些库将主机应用程序与 Chromium 和 Blink 实现细节隔离开来。它提供了浏览器和主机应用程序之间的严密集成,包含对自定义插件,协定,JavaScript 对象和 JavaScript 扩大的反对。主机应用程序能够抉择管制资源加载、导航、上下文菜单、打印等,同时利用与 Google Chrome Web 浏览器中雷同的性能和 HTML5 技术。

OpenHarmony third_party_cef 仓库:https://gitee.com/openharmony…
cares 主页:https://bitbucket.org/chromiu…

chromium

  • Chromium 是由 Google 主导开发的网页浏览器,以 BSD 许可证等多重自在版权发行并凋谢源代码,是 Google 的 Chrome 浏览器背地的引擎,其目标是为了创立一个平安、稳固和疾速的通用浏览器。
  • OpenHarmony nwebview 基于 Chromium 构建。

OpenHarmony third_party_chromium 仓库:https://gitee.com/openharmony…

cJSON

ANSI C 中的超轻量级 JSON 解析器。cJSON 的指标是成为您能够实现工作的最简略的解析器。该我的项目只有一个头文件和一个源文件。

OpenHarmony third_party_cJSON 仓库:https://gitee.com/openharmony…

css-what

css-what 是一个 CSS 选择器解析器

OpenHarmony third_party_css-what 仓库:https://gitee.com/openharmony…

curl

cURL 是一个利用 URL 语法在命令行下工作的文件传输工具,1997 年首次发行。它反对文件上传和下载,所以是综合传输工具,但按传统,习惯称 cURL 为下载工具。cURL 还蕴含了用于程序开发的 libcurl。

OpenHarmony third_party_curl 仓库:https://gitee.com/openharmony…

e2fsprogs

e2fsprogs 是一个开源库,能够读写 ext2/ext3/ext4 磁盘。
Ext2/Ext3/Ext4 文件系统实用程序(e2fsprogs)蕴含用于创立、修复、配置和调试 ext2、ext3 和 ext4 文件系统的所有规范实用程序。

  • EXT 是 Linux 零碎下的一种磁盘分区格局,等同于 XP 下的 FAT/FAT16/FAT32
  • 1、EXT 是 Linux 零碎下的一种磁盘分区格局,等同于 XP 下的 FAT/FAT16/FAT32,大家晓得安卓是基于 Linux 零碎开发的手机零碎,那么同样的就有这些分区格局,平时咱们所说的开启 a2sd 性能,就是在 SD 卡中分出一个零碎所反对的磁盘格式,上面来说一下这些格局的区别!
  • 2、Ext2(第二扩大文件系统): 是 GNU/Linux 零碎中规范的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出劣势,这次要得利于其簇快取层的低劣设计。其繁多文件大小与文件系统自身的容量下限与文件系统自身的簇大小无关,在个别常见的 x86 电脑系统中,block 最大为 4KB, 则繁多文件大小下限为 2048GB, 而文件系统的容量下限为 16384GB。但因为目前外围 2.4 所能应用的繁多宰割区最大只有 2048GB,因而实际上能应用的文件系统容量最多也只有 2048GB。
  • 3、Ext3(第三扩大文件系统): 顾名思义,它就是 ext2 的下一代,也就是在保有目前 ext2 的格局之下再加上日志性能。
  • 4、EXT4(第四扩大文件系统):文件系统是 Linux 零碎下的日志文件系统,是 ext3 文件系统的后继版本,然而 Ext4 是 Linux 文件系统的一次改良。在很多方面,Ext4 绝对于 Ext3 的提高要远超过 Ext3 绝对于 Ext2 的提高。Ext3 绝对于 Ext2 的改良次要在于日志方面,然而 Ext4 绝对于 Ext3 的的改良是更深层次的,是文件系统数据结构方面的优化,是一个高效的、优良的、牢靠的和极具特点的文件系统,并且 EXT3 能够转为 EXT4 的。

    OpenHarmony third_party_e2fsprogs 仓库:https://gitee.com/openharmony…

egl

1.EGL 是什么?EGL 是渲染 API(如 OpenGL, OpenGL ES, OpenVG)和本地窗口零碎之间的接口。

  • 它解决图形上下文治理,外表 / 缓冲区创立,绑定和渲染同步,
  • 并应用其余 Khronos API 实现高性能,减速,混合模式 2D 和 3D 渲染 OpenGL / OpenGL ES 渲染客户端 API OpenVG 渲染客户端 API 原生平台窗口零碎。

2.EGL 的作用:

  • 与设施的原生窗口零碎通信。
  • 查问绘图外表的可用类型和配置。
  • 创立绘图外表。
  • 在 OpenGL ES 和其余图形渲染 API 之间同步渲染。
  • 治理纹理贴图等渲染资源。

    OpenHarmony third_party_egl 仓库:https://gitee.com/openharmony…

ejdb

嵌入式 JSON 数据库引擎

  • EJDB 是一个嵌入式的 JSON 数据库引擎,旨在提供疾速的类 MongoDB 的嵌入式数据库,可用于 C/C++ 应用程序中。次要个性包含:汇合级别写锁、汇合级别的事务、字符串匹配查问以及 Node.js 绑定。

    OpenHarmony third_party_ejdb 仓库:https://gitee.com/openharmony…
    我的项目主页:http://ejdb.org

exfat-utils

exFAT 文件系统用户空间实用程序,蕴含用于在 linux 零碎中创立、修复和调试 exfat 文件系统的所有规范实用程序,反对 fsck、mkfs 等。

  • EXFAT 文件系统也叫扩大调配表文件系统,能够说它是 FAT32 文件系统的升级版。EXFAT 和 FAT32 文件系统不同之处在于,

    • FAT32 的 FAT 表最多只能用 28 位,EXFAT 的 FAT 表能够全副应用。
    • FAT32 的文件系统大小只能用 4 个字节示意,也就是最大为 0xFFFFFFFF 扇区也就是 2T。而 EXFAT 文件系统的大小是用 8 个字节示意的。
    • FAT32 文件系统单个文件也是用 4 个字节示意的 0xFFFFFFFF 字节也就是 4G。而 EXFAT 文件系统的单
      个文件大小应用 8 个字节(也就是 fat32 单个文件存储不能超过 4 个 G)

      OpenHarmony third_party_exfat-utils 仓库:https://gitee.com/openharmony…

expat

Expat 是一个用 C 语言开发的、用来解析 XML 文档的开发库,它最后是开源的、Mozilla 我的项目下的一个 XML 解析器。

OpenHarmony third_party_expat 仓库:https://gitee.com/openharmony…

f2fs-tools

f2fs 文件系统工具,用于创立、挂载、扩大、检查和修复 f2fs 文件系统,反对 fsck、mkfs、resize 等。

  • 能够应用 f2fs 文件系统工具将磁盘格式化成为 f2fs 文件系统。要应用 f2fs 文件系统,应应用 f2fs 格式化存储分区。否则无奈挂载 f2fs。

    OpenHarmony third_party_f2fs-tools 仓库:https://gitee.com/openharmony…

musl

Musl 是一个轻量级的 C 规范库,设计作为 GNU C library (glibc)、uClibc 或 Android Bionic 的代替用于嵌入式操作系统和挪动设施。特点是轻量级、疾速、简略、收费、规范兼容和平安。

OpenHarmony third_party_musl 仓库:https://gitee.com/openharmony…
musal 主页:http://musl.libc.org/

newfs_msdos

Fat32 文件系统格式化工具,实现在设施或文件上构建 FAT12、FAT16 或 FAT32 的文件系统。

OpenHarmony third_party_newfs_msdos 仓库:https://gitee.com/openharmony…

正文完
 0