关键词:
分享几个适合新手的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
经验分享:适合c++学习的开源项目(基础到进阶实战)
俗话说:万事开头难,学习编程也是一样。在我粉丝学习群里,经常遇到有小伙伴询问编程语言如何入门方面的问题,如:我要学习某一门编程语言,有什么开源项目可以推荐吗?我是某编程语言的新... 查看详情
github上有哪些适合新手跟进的优质项目?(代码片段)
今日分享5种语言功共15个GitHub的项目,包括:C项目、C#项目、C++项目、Go项目、Java项目、JavaScript项目,GitHub上适合新手入来学习的优质项目。一、C项目smartdns地址:https://github.com/pymumu/smartdns这是一个运行在... 查看详情
分享10个适合初学者学习的c开源项目代码
来源|嵌入式arm十个最值得阅读学习的C开源项目代码1.Webbench2.Tinyhttpd3.cJSON4.CMockery5. Libev6.Memcached7.Lua8.SQLite9.UNIXv610.NETBSD1.WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定... 查看详情
分享几个有趣的ai开源项目
朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshowAI技术已经深入到了生活生产的各个领域,随着AI技术的火热,越来越多的人开始学习AI技术,学会了后肯定要大展拳脚一番呀,要开发出自己想要... 查看详情
stm32|分享几个开源的测试框架(代码片段)
1024G嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。关注微信公众号【嵌入式大杂烩】,回复1024,即可免费获取!这是一篇测试相关的笔记。我们软件开发最终都离不开测试的,可以通过测试... 查看详情
几个优质的devops开源项目分享
参考技术A《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是几个优质的DevOps开源工具。Jpom是一个简而轻的低侵入式在线构建、自动部署、日常运维、项... 查看详情
几个优质的devops开源项目分享
参考技术A《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是几个优质的DevOps开源工具。Jpom是一个简而轻的低侵入式在线构建、自动部署、日常运维、项... 查看详情
几个适合白手起家的创业项目
...,白手起家创业赚大钱完全能够变成现实,今天就给大家分享几个适合白手起家的创业点子。 1.资源整合 资源整合通俗 查看详情
10年测试经验分享:新手怎么找软件测试的项目?
测试新手不知道上哪找测试项目,这应该是每个测试自学人的困扰。说句实话,目前来说没有特别好特别直接的解决方法。不过可以结合我之前的一些经历,给大家提供一些思路。方法一:自己找一些开源的开发/... 查看详情
8月分享与总结
前言:取得成功的要自律!可能有一腔热血,努力很长一阵子,但过一阵子之后,就不坚持了,所以要自律去约束自己时刻坚持着! 一、收获 8月份的收获还是很大的,主要有以下几个方面: 学会了使用github ... 查看详情
这几个大数据github项目,太强了吧
...”,上面不仅有很多优质的开源项目,还有很多热爱开源分享的开发者。但如何从浩如烟海的宝藏中,筛选出适合自己的优质项目呢?本期内容,我就为大家推荐几个我认为还不错的大数据学习必备的牛X项目,希望大家看完有... 查看详情
适合新手使用在线编辑流程图网站分享
...不知道怎样绘制成为最大的麻烦,所以今天小编就给大家分享适合新手使用的在线编辑流程图在线网站,希望可以帮助到大家。 工具/原料: 迅捷画图,浏览器,电脑,网络 操作方法介绍: 1.为什么说该网站适合... 查看详情
适合新手使用在线编辑流程图网站分享
...不知道怎样绘制成为最大的麻烦,所以今天小编就给大家分享适合新手使用的在线编辑流程图在线网站,希望可以帮助到大家。 工具/原料: 迅捷画图,浏览器,电脑,网络 操作方法介绍: 1.为什么说该网站适合... 查看详情
有哪些适合qt开发使用的开源gis软件
...涉及qt界面的代码本回答被提问者采纳 参考技术B应该是适合的哦! 查看详情
硬核!github上,star超高的java开源项目分享给你!
AwsomeJavaGreatJavaprojectonGithub(Github上非常棒的Java开源项目).EnglishVersion大家都知道Github是一个程序员福地,这里有各种厉害的开源框架、软件或者教程。这些东西对于我们学习和进步有着莫大的进步,所以我有了这个将Github上非常... 查看详情
分享适合新手小白学习的ui设计详细学习课程资料
...新手想要学好ui设计,以下这份完整的ui设计学习路线图分享给大家参考学习,希望对大家有一定的帮助。好的学习课程可以让我们的学习更清晰,更能清楚自己每个阶段的学习内容及掌握的情况,所以,这份我千锋的ui设计课路... 查看详情
资源分享编程初学者如何在github寻找适合自己的小项目?
即使作为编程新手,刚刚接触GitHub,也建议你从最简单的项目入手,而不是单纯研究大量理论。这个:star:18.5k的优(宅)秀(男)项目: komeiji-satori / Dress 就非常适合初学者Pick。作为全球最大同... 查看详情
go语言值得学习的开源项目推荐
...cts 其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也有大型如nsq、docker等的项目。 下面推荐几款适合学习的项目:1、cache2gohttps://github.com/muesli/cache2go比较简单的一个缓存库,代码 查看详情