精心为学弟学妹整理的 C语言/C++ 项目合集

简介: 精心为学弟学妹整理的 C语言/C++ 项目合集

C语言/C++ 是一门实践性很强的课程。如果只看书,不做上机练习,相当于纸上谈兵。


很多小伙伴经常问“有什么项目推荐?” ,今天推荐一些。


1、C语言/C++ 入门项目合集


夯实 C 语言/C++ 基础,训练编程思维,培养解决问题的思路,领略多姿多彩的 C 语言/C++。


包括 C语言/C++ 迷宫、24点游戏、奔跑的火柴人、超市管理系统、打字母、电子时钟、对对碰、俄罗斯方块、黑白棋、华容道、火车票订票管理源码、连连看、商品销售系统、象棋、超级玛丽、图书管理系统、学生成绩管理系统.......


https://mp.weixin.qq.com/s/ZUHtQxaahrGjvAZVu5jKKg


2、C语言很好的开源框架推荐


1. WebbenchWebbench


是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。


下载链接:LippiOuYang/WebBench · GitHub


2. Tinyhttpdtinyhttpd


是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。


下载链接:LippiOuYang/Tinyhttpd · GitHub


3. cJSONcJSON


是C语言中的一个JSON编解码器,非常轻量级,C文件只有500多行,速度也非常理想。cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。


项目主页:cJSON | SourceForge.net


4. CMockerycmockery


是google发布的用于C单元测试的一个轻量级的框架。它很小巧,对其他开源包没有依赖,对被测试代码侵入性小。cmockery的源代码行数不到3K,你阅读一下will_return和mock的源代码就一目了然了。


下载链接:Downloads - cmockery - A lightweight library to simplify and generalize the process of writing unit tests for C applications。


Libevlibev


是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。


下载链接:http://software.schmorp.de/pkg/libev.html


MemcachedMemcached


是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。Memcached-1.4.7的代码量还是可以接受的,只有10K行左右。


下载地址:memcached - a distributed memory object caching system


3、C++ 开源项目推荐


1. uWebSocket 网络库


uWebSocket 是一款开源的 WebSocket 库,最新版使用了大量 C++17 的语法。


下载地址:https://github.com/uNetworking/


2. TeamTalk


TeamTalk 是蘑菇街开源的一款用于企业内部的即时通信工具,


下载地址:https://github.com/balloonwj/Te


3.写一个Json库


下载地址:https://github.com/miloyip/json-tutorial/blob/master/tutorial01/tutorial01.md


4.写一个红黑树


下载地址:https://github.com/william-zk/RB_Tree


5.写一个STL


下载地址:https://github.com/Alinshans/MyTinySTL


6.写一个高并发内存池


下载地址::https://blog.csdn.net/qq_41562665/article/details/90546750


7.写一个线程库


下载地址:https://github.com/Winnerhust/uthread


8.写一个网络库


下载地址:https://github.com/chenshuaihao/NetServer


9.写一个服务器框架


下载地址:https://www.bilibili.com/video/av53602631?from=search&seid=9029288577396826503


10.写一个WebServer可以参考一些书


-《Linux高性能服务器编程》


还有陈硕的那本书 等等


下载地址: https://github.com/linyacool/WebServer


相关文章
|
2月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
70 2
|
1月前
|
C语言 Windows
C语言课设项目之2048游戏源码
C语言课设项目之2048游戏源码,可作为课程设计项目参考,代码有详细的注释,另外编译可运行文件也已经打包,windows电脑双击即可运行效果
32 1
|
21天前
|
算法 编译器 C语言
【C语言】C++ 和 C 的优缺点是什么?
C 和 C++ 是两种强大的编程语言,各有其优缺点。C 语言以其高效性、底层控制和简洁性广泛应用于系统编程和嵌入式系统。C++ 在 C 语言的基础上引入了面向对象编程、模板编程和丰富的标准库,使其适合开发大型、复杂的软件系统。 在选择使用 C 还是 C++ 时,开发者需要根据项目的需求、语言的特性以及团队的技术栈来做出决策。无论是 C 语言还是 C++,了解其优缺点和适用场景能够帮助开发者在实际开发中做出更明智的选择,从而更好地应对挑战,实现项目目标。
44 0
WK
|
1月前
|
机器学习/深度学习 人工智能 算法
那C++适合开发哪些项目
C++ 是一种功能强大、应用广泛的编程语言,适合开发多种类型的项目。它在游戏开发、操作系统、嵌入式系统、科学计算、金融、图形图像处理、数据库管理、网络通信、人工智能、虚拟现实、航空航天等领域都有广泛应用。C++ 以其高性能、内存管理和跨平台兼容性等优势,成为众多开发者的选择。
WK
77 1
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
513 3
|
2月前
|
C语言 C++
C 语言的关键字 static 和 C++ 的关键字 static 有什么区别
在C语言中,`static`关键字主要用于变量声明,使得该变量的作用域被限制在其被声明的函数内部,且在整个程序运行期间保留其值。而在C++中,除了继承了C的特性外,`static`还可以用于类成员,使该成员被所有类实例共享,同时在类外进行初始化。这使得C++中的`static`具有更广泛的应用场景,不仅限于控制变量的作用域和生存期。
67 10
|
3月前
|
C++
【C++案例】一个项目掌握C++基础-通讯录管理系统
这篇文章通过一个通讯录管理系统的C++项目案例,详细介绍了如何使用C++实现添加、显示、删除、查找、修改和清空联系人等功能。
57 3
|
3月前
|
算法 机器人 C语言
ROS仿真支持C++和C语言
ROS仿真支持C++和C语言
91 1
|
2月前
|
C语言 C++
实现两个变量值的互换[C语言和C++的区别]
实现两个变量值的互换[C语言和C++的区别]
26 0
|
4月前
|
编译器 Linux C语言
【C++小知识】为什么C语言不支持函数重载,而C++支持
【C++小知识】为什么C语言不支持函数重载,而C++支持