5.6 KiB
5.6 KiB
C++公共基础库
简介
C++公共基础类库为标准系统提供了一些常用的C++开发工具类,包括:
- 文件、路径、字符串相关操作的能力增强接口
- 读写锁、信号量、定时器、线程增强及线程池等接口
- 安全数据容器、数据序列化等接口
- 各子系统的错误码相关定义
目录
commonlibrary/c_utils
├─ base
│ ├── include # 对各子系统开放的接口头文件
│ ├── src # 源文件
│ └── test # 测试代码
├─ Docs
├── en # 英文文档
└── zh-cn # 中文文档
约束
适用于标准系统。
编译构建
编译部件
./build.sh --product-name rk3568 --build-target c_utils
编译动态库
./build.sh --product-name rk3568 --build-target commonlibrary/c_utils/base:utils
编译Rust动态库
./build.sh --product-name rk3568 --build-target commonlibrary/c_utils/base:utils_rust
编译静态库
./build.sh --product-name rk3568 --build-target commonlibrary/c_utils/base:utilsbase
如何依赖c_utils
- 进入相关模块对应BUILD.gn文件
- 在该模块对应位置中的
external_deps
字段内添加依赖,如下:
ohos_shared_library("xxxxx") {
...
external_deps = [
...
# 动态库依赖(可选)
"c_utils:utils",
# 静态库依赖(可选)
"c_utils:utilsbase",
# Rust动态库依赖(可选)
"c_utils:utils_rust",
]
...
}
使用说明
Rust-匿名共享内存
Rust-文件与目录
Rust-读写文件
使用匿名共享内存
使用智能指针管理动态分配内存对象
使用Parcel作为数据容器
定时器
文件映射
事件处理系统
读写锁
增强信号量功能
强化线程能力
线程池
线程安全Map
有序Vector
线程安全阻塞队列
线程安全栈与队列
单例模式
观察者模式
日期与时间
文件与目录
字符串处理
读写文件
管理、传递文件描述符
Changelog
2023/06/14
- 添加文件映射、事件处理系统的开发指导文档。
- Refbase维测增强部分已更新至文档。
- 添加Rust相关功能的开发指导文档并提供编译命令。
2023/01/31
- 添加docs目录,提供c_utils内各主要功能的开发指导文档。
- 在源码头文件中添加注释。
- 修改Readme文档,开发指导文档可通过Readme中的"使用说明"章节跳转查看。
2022/10/10
- 路径变更。由utils/native移动至commonlibrary/c_utils;
- 部件名变更。由utils_base变更为c_utils;
- 不再提供安全C库能力。请使用third_party_bounds_checking_function。