11 Star 46 Fork 141

OpenHarmony / commonlibrary_c_utils

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_zh.md 5.57 KB
一键复制 编辑 原始数据 按行查看 历史

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

  1. 进入相关模块对应BUILD.gn文件
  2. 在该模块对应位置中的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

  1. 添加文件映射、事件处理系统的开发指导文档。
  2. Refbase维测增强部分已更新至文档。
  3. 添加Rust相关功能的开发指导文档并提供编译命令。

2023/01/31

  1. 添加docs目录,提供c_utils内各主要功能的开发指导文档。
  2. 在源码头文件中添加注释。
  3. 修改Readme文档,开发指导文档可通过Readme中的"使用说明"章节跳转查看。

2022/10/10

  1. 路径变更。由utils/native移动至commonlibrary/c_utils;
  2. 部件名变更。由utils_base变更为c_utils;
  3. 不再提供安全C库能力。请使用third_party_bounds_checking_function

相关仓

commonlibrary_c_utils

commonlibrary_utils_lite

1
https://gitee.com/openharmony/commonlibrary_c_utils.git
git@gitee.com:openharmony/commonlibrary_c_utils.git
openharmony
commonlibrary_c_utils
commonlibrary_c_utils
master

搜索帮助