卡卷网
当前位置:卡卷网 / 每日看点 / 正文

有哪些轻量级适合阅读的优秀C++开源项目?

作者:卡卷网发布时间:2025-01-11 16:40浏览数量:82次评论数量:0次

CTPL

这是一个现代简易版的、高效的C++线程池库,代码行数500行左右。

代码示例:

voidfirst(intid){std::cout<<"hellofrom"<<id<<'\n';} structSecond{voidoperator()(intid)const{std::cout<<"hellofrom"<<id<<'\n';}}second; voidthird(intid,conststd::string&additional_param){} intmain(){ ctpl::thread_poolp(2/*twothreadsinthepool*/); p.push(first);//function p.push(third,"additional_param"); p.push([](intid){std::cout<<"hellofrom"<<id<<'\n';});//lamda p.push(std::ref(second));//functor,reference p.push(const_cast<constSecond&>(second));//functor,copyctor p.push(std::move(second));//functor,movector }

LLVM

这是一个高效、模块化、跨平台的开源编译器框架,可以将你写的代码,如C/C++、Rust编译成机器代码。

如果你想学习LLVM,我推荐你看一下LLVM-TUTOR开源库,这可以用作与学习LLVM的项目,里面有非常多的示例可以学习和运行,搞懂了这些示例,相信你很快就可以熟悉和掌握LLVM编译机制。

Cereal

一个二进制的Json库,使用起来非常方便,大约4000行代码。

SQLITEORM

轻量级的现代C++库,将ORM封装,大约3000行代码。

高级功能如下

代码示例:

Workflow

由搜狗公司开源的一款异步网络和并行计算的C++框架库,被用在搜狗公司后端引擎平台,如云输入法、搜索引擎服务、在线广告等业务。可满足于后端和嵌入式开发等需求。

主要实现功能如下:

异步客户端支持的协议包括、mysql、redis、kafka等;

自定义构建/协议,实现自己的RPC;SRPC开源库就是在该基础上实现,支持的协议包括:rpc、srpc、thrift、trpc等;

实现异步任务流,支持串并联和复杂的DAG结构;

实现并行计算功能,所有的任务可存放在一个流中,同时也支持计算任务调度。

示例代码:

FMT

一个开源的formatting库,大约3000行代码。

代码示例:

args

一个开源的命令行解析库,大约800行代码。

LIZIPPP

一个基于lizip和zli库封装而成的跨平台库,大约2000行代码。

TinyWe

轻量级別的We,主要使用在Linux平台,想快速了解网络编程的小伙伴可以研究研究该框架。

SQLiteC++

基于C++封装的SQLite库,大约0行代码。

示例代码:

Cista

一个简单的、开源的C++序列化和反序列化库,大约1500行代码。

示例代码:

今天就先推荐这么多吧

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码