首页
/ 雅兰亭库 (yalantinglibs) 使用教程

雅兰亭库 (yalantinglibs) 使用教程

2024-08-07 10:55:38作者:瞿蔚英Wynne

1. 项目的目录结构及介绍

雅兰亭库 (yalantinglibs) 是一个现代 C++ 基础工具库的集合,其 GitHub 仓库的目录结构如下:

yalantinglibs/
├── include/
│   └── ylt/
│       ├── struct_pack/
│       ├── struct_json/
│       ├── struct_xml/
│       ├── struct_yaml/
│       ├── easylog/
│       ├── coro_rpc/
│       ├── coro_http/
│       └── async_simple/
├── src/
│   ├── struct_pack/
│   ├── struct_json/
│   ├── struct_xml/
│   ├── struct_yaml/
│   ├── easylog/
│   ├── coro_rpc/
│   ├── coro_http/
│   └── async_simple/
├── examples/
│   ├── struct_pack/
│   ├── struct_json/
│   ├── struct_xml/
│   ├── struct_yaml/
│   ├── easylog/
│   ├── coro_rpc/
│   ├── coro_http/
│   └── async_simple/
├── tests/
│   ├── struct_pack/
│   ├── struct_json/
│   ├── struct_xml/
│   ├── struct_yaml/
│   ├── easylog/
│   ├── coro_rpc/
│   ├── coro_http/
│   └── async_simple/
├── CMakeLists.txt
├── README.md
└── LICENSE

目录介绍

  • include/ylt/:包含所有库的头文件。
  • src/:包含所有库的源文件。
  • examples/:包含每个库的使用示例。
  • tests/:包含每个库的测试代码。
  • CMakeLists.txt:CMake 构建配置文件。
  • README.md:项目介绍和使用说明。
  • LICENSE:项目许可证文件。

2. 项目的启动文件介绍

雅兰亭库 (yalantinglibs) 是一个头文件库,因此没有特定的启动文件。用户可以根据需要包含相应的头文件并编写代码。例如,使用 struct_pack 库时,可以包含以下头文件:

#include <ylt/struct_pack.hpp>

3. 项目的配置文件介绍

雅兰亭库 (yalantinglibs) 的配置主要通过 CMake 选项进行。以下是一些常用的配置选项:

  • YLT_ENABLE_SSL:启用可选的 SSL 支持。
  • YLT_ENABLE_PMR:启用 PMR 优化。
  • YLT_ENABLE_IO_URING:在 Linux 上启用 io_uring。
  • YLT_ENABLE_FILE_IO_URING:在 Linux 上启用文件 io_uring 作为后端。
  • YLT_ENABLE_STRUCT_PACK_UNPORTABLE_TYPE:启用 struct_pack 的不便携类型(如 wstringint128_t)。
  • YLT_ENABLE_STRUCT_PACK_OPTIMIZE:通过激进的模板展开优化 struct_pack(会增加编译时间)。

配置示例

在 CMake 中启用 SSL 支持:

cmake -DYLT_ENABLE_SSL=ON ..

通过这些配置选项,用户可以根据项目需求灵活地配置雅兰亭库 (yalantinglibs)。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
509
550
docsdocs
暂无描述
Markdown
852
5.68 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.04 K
2.48 K
kernelkernel
deepin linux kernel
C
33
16
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
838
1.27 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
844
1.69 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.16 K
856
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.25 K
1.37 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
502
345
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
783
410