开发者社区> pqo7bvdsfj67q> 正文

精心为学弟学妹整理的 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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C语言项目开发-项目架构和编程命名规范
一个项目的流程: 1、公司市场人员与客户交流,了解客户、引导客户使用公司最优资源并产出一份市场需求文档 2、公司需求人员(BA)与客户交流,了解客户需求并产出一个软件需求文档 3、项目经理、开发小组成员、需求人员(BA)一起开一个需求评审会议,对不合理的地方,    打回给BA,再由BA与客户沟通 4、程序员接到和充分了解软件需求文档后产生软件设计文档(包括概要设计文档和详细设计文档,    涉及到数据库的还需要进行数据库的设计) 5、程序员根据设计文档进行编码、调试、打包发布。
1242 0
2014秋C++ 第13周项目 C++中的一维数组
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目1 - 数组大折腾】(1)创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后(从第0个到第19个)输出数组中元素的值,每5个
1093 0
【干货】国外程序员整理的 C++ 资源大全
 关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz发起和维护。 内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 标准库 C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。 Standard Template Library:标准模板库
2762 0
《PIC微控制器项目设计:C语言》一导读
本文讲的是PIC微控制器项目设计:C语言一导读,微控制器是一个单芯片微处理器系统,其中包含数据和程序存储器、串行和并行输入/输出、定时器、外部和内部中断,所有这些都集成在一个芯片中,其价格可以低至2.00美元。
1775 0
笔试编程题整理
归并排序: //将有序数组a[]和b[]合并到c[]中 void MemeryArray(int a[], int n, int b[], int m, int c[]) { int i, j, k; i = j = k = ...
1765 0
C#多线程编程(整理)
Donet基础类库的System.Threading命名空间提供了大量的类和接口支持多线程。这个命名空间有很多的类,下面是Thread的资料。System.Threading.Thread类是用来创建并控制线程,设置其优先级并获取其状态最为常用的类。
932 0
123
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载