分享几个适合新手的C/C++开源项目
今天主要给大家分享一些github内适合初学者练手的c/c++开源项目。
所有项目均提供项目下载地址,无法使用github的读者,也可以在文末进行获取
项目一:C-Plus-Plus
项目介绍
C-Plus-Plus是收录用 C++ 实现的各种算法的集合,并按照 MIT 许可协议进行授权。
这些算法涵盖了计算机科学、数学和统计学、数据科学、机器学习、工程等各种主题。除外,你可能会发现针对同一目标的多个实现使用不同的算法策略和优化。
- 支持环境:MSVC 16 2019、AppleClang 11.0 和 GNU 7.5.0 在三个主要操作系统(即 Windows、MacOS 和 Ubuntu (Linux))
- 严格遵守C++11标准确保代码可移植到嵌入式系统以及 ESP32、ARM Cortex 等。
- 程序内的自检确保自信地正确实施。
- 模块化实施和开源许可使这些功能可以在其他应用程序中方便地使用。
下图为该项目部分资源的截图:
项目源码地址
https://github.com/TheAlgorithms/C-Plus-Plus
项目二:C
项目介绍
该项目内几乎包含了各种基础的数据结构与算法,以及LeetCode算法的c语言实现,非常适合我们学习数据结构与算法学习。
- 客户端/服务器问题
- 统计方法问题
- 进制转换问题
- 各种数据结构:数组、链表、字典、二叉树、堆、栈、队列、哈希、图等等
- 搜索/查找问题
- 排序问题
- LeetCode习题
- 其他杂项问题
下图为该项目部分资源的截图:
项目源码地址
https://github.com/TheAlgorithms/C
项目三:CPlusPlusThings
项目介绍
CPlusPlusThings 是国人开源一个 C++ 学习项目。它非常的适合初学者从入门到进阶的学习。
该项目主要包含了下面这几个内容
- 基础进阶
- 实战系列
- C++2.0 新特性
- 设计模式
- STL 源码剖析
- 并发编程
- C++ 惯用法
- 学习课程
- 工具
- 拓展
下图为该项目部分资源的截图:
项目源码地址
https://github.com/Light-City/CPlusPlusThings
项目四:design-patterns-cpp
项目介绍
该项目是使用c++实现的设计模式,包含了常用的设计模式。
下图为该项目部分资源的截图:
项目源码地址
https://github.com/JakubVojvoda/design-patterns-cpp
项目五: CMockery
项目介绍
cmockery 是 google 发布的用于C单元测试的一个轻量级的框架。它很小巧,对其他开源包没有依赖,对被测试代码侵入性小。cmockery 的源代码行数不到 3K,你阅读一下 will_return 和 mock 的源代码就一目了然了。
特点
- 轻量级的框架,使测试更加快速简单
- 避免使用复杂的编译器特性,对老版本的编译器来讲,兼容性好
- 不强制要求待测代码必须依赖 C99 标准,(适合嵌入式开发中使用)
项目源码地址
https://github.com/google/cmockery
项目六: libhv
项目介绍
libhv类似于libevent、libev和libuv,是一个跨平台的具有非阻塞I/O和计时器的异步事件驱动库,但libhv提供了更加简单易用的API接口并支持更加丰富的网络协议,基于它可以快速驱动HTTP服务端和客户端,从而提供高性能的http服务
特点
- 跨平台
- 事件循环
- 非阻塞I/O
- 支持IPv6
- 使用OpenSSL
- 支持多种网络协议
项目源码地址
https://github.com/ithewei/libhv
网盘下载链接
链接:https://pan.baidu.com/s/1fo_vbgTvawCCxJ_-xoPpNQ
提取码:lg4n
|