分享几个适合新手的C/C++开源项目_c++项目-程序员宅基地

技术标签: c++  github  c语言  leetcode  理论知识  

分享几个适合新手的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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_51061483/article/details/120403945

智能推荐

Viper炫彩蛇的下载与安装(MSF图形化界面)_简易极速安装版-程序员宅基地

文章浏览阅读647次,点赞2次,收藏2次。1.更新apt-get2.下载docker.ioY。_炫彩蛇

CVPR2021|| Coordinate Attention注意力机制_位置注意力机制-程序员宅基地

文章浏览阅读2.4w次,点赞63次,收藏418次。Paper:https://arxiv.org/pdf/2103.02907.pdfGitHub:https://github.com/Andrew-Qibin/CoordAttention轻量,优秀,好用!讲之前我们先回顾一下以前的SE与CBAMSESE比较简单,看一下结构图差不多就能理解了,如果有些实现不太懂的,可以借鉴一下CBAM的。但SE只考虑内部通道信息而忽略了位置信息的重要性,而视觉中目标的空间结构是很重要的。CBAM稍微介绍一下CBAM,如图b所示,CBAM包含空间注意力和通_位置注意力机制

eslint搭配prettier使用步骤_plugin:prettier/recommended-程序员宅基地

文章浏览阅读1.2k次。这里的执行逻辑顺序是:eslint会首先读extends的规则,这个时候遇到了最后配置的plugin:prettier/recommended,而这个插件又会先读本地配置的.prettierrc文件再读取prettier自己内部设置的配置,最后读.eslintrc.json的rules配置。2、其次配置.eslintrc.json文件,extends: [“plugin:prettier/recommended”],如果有其他扩展,则"plugin:prettier/recommended"放在最后。_plugin:prettier/recommended

kettle 共享数据库连接时带汉字引发的错误-程序员宅基地

文章浏览阅读548次。处理方式:在目录: C:\Users\Administrator\.kettle 里 找到:shared.xml 把该文件的编码方式改为UTF-8,重启kettle就没问题了

weka up-sampling & down-sampling-程序员宅基地

文章浏览阅读532次。[b]up-sampling:[/b]SMOTE algorithm,over-sampled by creating ``synthetic'' examples rather than by over-sampling with replacement.[b]Weka supervised SMOTE filter [/b]两个参数: [list][*]neares..._weka oversampled

php中如何得到js中的变量,javascript-js变量在PHP中怎么获取该变量?-程序员宅基地

文章浏览阅读1.3k次。在js中定义一个变量,在PHP中怎么获取该变量?(在一个页面)回复内容:在js中定义一个变量,在PHP中怎么获取该变量?(在一个页面)JS是前端,PHP是后端,后端PHP要获取前端JS的变量,那前端JS可以通过AJAX传输数据给后端PHP.比如登录页面login.php:js中通过post提交到后台:var data = {'param' : xxx};$.post(url,data,callba..._php 获取js中变量

随便推点

Qt 中 Q_OBJECT 宏及 moc_*.cpp文件_moc_cpp-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏28次。Qt 中 Q_OBJECT 宏及 moc_前缀文件Q_OBJECT 宏元对象系统 (Meta-Object System)了解 Q_OBJECT 宏展开 Q_OBJECT 宏MOC 预编译器MOC (Meta-Object Compiler)前缀 moc_xx.cpp文件代码示例如下MakeFile文件生成的moc文件如下==moc_whatismoc.cpp== 文件分析片段一结构体`qt_meta_stringdata_WhatIsMoc_t`片段二宏`QT_MOC_LITERAL`和`qt_meta__moc_cpp

WoWoViewPager 炫酷啊!-程序员宅基地

文章浏览阅读1k次。WoWoViewPager WoWo可以优化你的App介绍/引导页面,制作你的App简历。WoWo将动画和viewpager结合起来。当你滑动viewpager的时候,你也在控制动画的当前帧。就好像控制动画时间一般。比如上面的两个Gif,是先向前滑动然后向后滑动。目录English READMEGradle备注Demo版本Todo_wowoviewpager

干货福利:CVPR2016代码合集_yeonwoonya-程序员宅基地

文章浏览阅读4.3k次。DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients:https://github.com/ppwwyyxx/tensorpack/tree/master/examples/DoReFa-NetCode for Stacked attention network_yeonwoonya

深度优先搜索(DFS)和广度优先搜索(BFS)_深度优先搜索是基于中序遍历吗-程序员宅基地

文章浏览阅读537次。深度优先搜索和广度优先搜索,都是图形搜索算法。一、深度优先搜索(DFS) 深度优先搜素,是针对图和树的遍历算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等等。 一般会使用栈数据结构来辅助实现DFS算法。 DFS主要思路就是从图中一个未访问的顶点V开始,沿着一条路一直往下走到底,然后从这条路尽头的结点回退到上一个节点,再从另一条路开始走到底.....,不断递归重复..._深度优先搜索是基于中序遍历吗

编译OpenWRT LEDE 固件的一些说明_generic-squashfs-combined-程序员宅基地

文章浏览阅读1.6w次,点赞4次,收藏22次。Github Actions 云编译 OpenWRT LEDE 固件固件文件说明文件共提供多种类型供下载(根据编译时选择的Target Images配置),需要其他类型的请自行转换,下面是部分说明序号名称说明(1)openwrt-x86-64-generic-squashfs-combined.img 或.gz带引导分区文件,也就是刷完后可以直接启动无需做设置,推荐使用!(2)openwrt-x86-64-generic-squashfs-combined.vmdk_generic-squashfs-combined

NOI Online Round 3 PJ 游记_noi online游记3-程序员宅基地

文章浏览阅读257次。博客园同步Day rand()\text{Day rand()}Day rand()报上了名。Day 0\text{Day 0}Day 0期中考试考萎了,彻底萎了,心里什么也不想了。试机?试个啥机?Day 1\text{Day 1}Day 1下午老妈说作业太多,于是我 16:4716:4716:47 匆匆开启了电脑。测试冥间数据,发现 tg180\text{tg} 180tg180 还可以,不错!17:0017:0017:00 开_noi online游记3

推荐文章

热门文章

相关标签