分享几个适合新手的C/C++开源项目

2023-05-16

分享几个适合新手的C/C++开源项目

今天主要给大家分享一些github内适合初学者练手的c/c++开源项目。

所有项目均提供项目下载地址,无法使用github的读者,也可以在文末进行获取

如果说不想使用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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分享几个适合新手的C/C++开源项目 的相关文章

随机推荐

  • 在Ubuntu18.04(Melodic)中安装ROS Gazebo经验总结

    首先实现Win10系统 与 Ubuntu18 04 之间实现粘贴复制 span class token function sudo span span class token function apt span span class tok
  • 解决ResourceNotFound: gazebo_ros

    roslaunch simulation landing px4 launch 错误如下 ResourceNotFound gazebo ros ROS path 0 61 opt ros kinetic share ros ROS pat
  • Ubuntu18.04下java环境安装flightplot分析软件

    Java安装参考我的这篇博文 Linux 系统小白 Ubuntu 18 04下安装 Java 过程简单总结 安装flightplot过程如下 1 xff1a sudo apt install git 2 xff1a git clone re
  • estimatePoseSingleMarkers()解读

    ex 网页长截图 1 F12 2 ctrl 43 shift 43 p 3 Capture full size screenshot 参考网址 estimatePoseSingleMarkers void cv aruco estimate
  • 插值函数总结(下篇之二维插值)

    命令2 interp2 功能 xff1a 二维数据内插值 xff08 表格查找 xff09 格式1 xff1a z1 61 interp2 x y z x1 y1 返回矩阵z1 xff0c 其元素包含对应于参量x1与y1 xff08 可以是
  • 模型预测控制算法(MPC算法)底层逻辑

    目录 MPC算法的基本原理 详细解析 预测模型中需要注意的点 滚动优化需要注意的点 构造目标函数约束部分 约束部分 举例说明 复盘总结 MPC算法的基本原理 MPC 的基本原理可以分为三个步骤 xff1a 预测模型 滚动优化 反馈校正 xf
  • 计算机视觉(三)--- 图像到图像的映射(全景拼接)

    目录 1 基本介绍 2 RANSAC 3 单应性矩阵估计 4 全景图像 1 基本介绍 引言 众所周知 xff0c 在我们拍摄风光摄影时 xff0c 广角镜头是使用频率最高的镜头 xff0c 特别是拍摄那些波澜壮阔的大场景风光 而且镜头可谓是
  • 机器学习课后练习题(期末复习题目附答案)

    此为第一章绪论部分 一 单选题 1 移动运营商对客户的流失进行预测 可以使用下面哪种机器学习方法比较合适 A 一元线性回归分析 B 关联方法 C 聚类算法 D 多层前馈网络 正确答案 A 2 下面哪种说法有关机器学习的认识是错误的 A 高质
  • STM32野火教程学习笔记

    欢迎使用STM32 虽然经历了疫情期间的价格起飞 xff0c 但是STM32系列的单片机仍然是各个控制领域内主流的微控制器 它是控制人的必修课之一 STM32的编程方法 我们在学习51单片机的时候 xff0c 通常是通过编写程序直接对其输入
  • Docker的使用

    目录 Docker概念 Docker安装 配置docker加速器 Docker命令 docker进程命令 docker镜像命令 容器命令 Docker容器的数据卷 数据卷概念 数据卷配置 数据卷容器 docker部署mysql 1 搜索my
  • launch启动文件的使用方法

    launch文件 xff1a 脚本 xff0c 可以把很多节点的启动写进去 Launch文件语法 1 lt launch gt launch文件中的根元素采用 lt launch gt 标签定义 2 lt node gt pkg xff1a
  • 基于单片机的电子万年历的设计

    文末下载完整资料 基于51单片机的电子万年历的设计 摘 要 电子万年历是单片机系统的一个应用 xff0c 由硬件和软件相配合使用 硬件由主控器 时钟电路 温度检测电路 显示电路 键盘接口5个模块组成 主控模块用AT89C52 时钟电路用时钟
  • 基于单片机的数字钟设计

    文末下载完整资料 摘 要 基于单片机的定时和控制装置在许多行业有着广泛的应用 xff0c 而数字钟是其中最基本的 xff0c 也是最具有代表性的一个例子 在基于单片机系统的数字钟电路中 xff0c 除了基本的单片机系统和外围电路外 xff0
  • 电子设计大赛-电源电路

    文末下载完整资料 集成直流稳压电源的设计 直流稳压电源是电子设备的能源电路 xff0c 关系到整个电路设计的稳定性和可靠性 xff0c 是电路设计中非常关键的一个环节 本节重点介绍三端固定式 xff08 正 负压 xff09 集成稳压器 三
  • 总线的分类和区别

    总线分类 xff1a 点击查看原文 全套资料免费下载 xff1a 关注v x 公 众 号 xff1a 嵌入式基地 后 台 回 复 xff1a 电赛 即可获资料 回复 编程 即可获取 包括有 xff1a C C 43 43 C JAVA Py
  • 电子设计大赛-室内可见光定位装置

    室内可见光定位装置 1 1 设计任务 设计并制作可见光室内定位装置 xff0c 其构成示意图如图 1 所示 参赛者自行搭建不小于 80cm 80cm 80cm 的立方空间 xff08 包含顶部 底部和 3 个侧面 xff09 顶部平面放置
  • 嵌入式面试题

    首先给大家分享一个在线练习面试题的网站 xff1a 牛客网 该网站包含使用实例 应用技巧 基本知识点总结和需要注意事项 xff0c 具有参考价值 xff0c 需要的朋友可以参考一下 嵌入式面试题 点击进行练习 嵌入式面试题 第一部分 xff
  • ESP32 DIY 机器狗

    关注v x 公 众 号 xff1a 嵌入式基地 后 台 回 复 xff1a 电赛 即可获资料 回复 编程 即可获取 包括有 xff1a C C 43 43 C JAVA Python JavaScript PHP 数据库 微信小程序 人工智
  • 半桥与全桥的优缺点

    关注v x 公 众 号 xff1a 嵌入式基地 后 台 回 复 xff1a 电赛 即可获资料 回复 编程 即可获取 包括有 xff1a C C 43 43 C JAVA Python JavaScript PHP 数据库 微信小程序 人工智
  • 分享几个适合新手的C/C++开源项目

    分享几个适合新手的C C 43 43 开源项目 今天主要给大家分享一些github内适合初学者练手的c c 43 43 开源项目 所有项目均提供项目下载地址 xff0c 无法使用github的读者 xff0c 也可以在文末进行获取 如果说不