本repo搜集全网适合C/C++入门项目,整理收纳开发者开源的小项目、工具、框架、游戏等,帮助大家更好地学习c/c++。
所有数据来源于互联网。所谓取之于互联网,用之于互联网。
如果涉及版权侵犯,请邮件至 [email protected] ,我们将第一时间处理。
如果您对我们的项目表示赞同与支持,欢迎您 lssues 我们,或者邮件 [email protected] 我们,更加欢迎您 pull requests 加入我们。
感谢您的支持!
No. | project name | introduce | link |
---|---|---|---|
1 | 复写了一个小型 STL | 基于 C++11 的 tinySTL,这是我的第一个项目,使用了中文文档与中文注释,有不规范或不当的地方还请海涵。刚开始是作为新手练习用途,直到现在已经发布了 2.x.x 版本。实现了大部分 STL 中的容器与函数. | MyTinySTL |
2 | Windows 系统预装的计算器 | Windows计算器应用程序是一个用c++和c#编写的现代Windows应用程序,预装在Windows中。该应用程序提供标准、科学和编程计算器功能,以及各种计量单位和货币之间的一套转换器。 | calculator |
3 | 用C++实现的微内核的操作系统 | FreeNOS (Free Niek's Operating System)是一个实验性的基于微内核的操作系统,用于学习,用c++编写。您可以根据GPLv3的条款随意使用该代码。 | FreeNOS |
4 | 音乐播放器 | 一个跨平台的,基于终端的音频引擎,库,播放器和服务器写在c++中。 | musikcube |
5 | 终端复用软件 | Tmux是一种终端多路复用器:它允许在一个屏幕上创建、访问和控制多个终端。Tmux可以从屏幕上分离,在后台继续运行,然后重新连接。 | tmux |
6 | Linux系统实时性能和运行状况的系统监控工具 | Netdata的分布式实时监控代理从零配置的系统、硬件、容器和应用程序中收集数以千计的指标。它永久地运行在您所有的物理/虚拟服务器、容器、云部署和边缘/物联网设备上,并且在事故发生时安装在您的系统上是非常安全的,无需任何准备。 | netdata |
7 | 简单的基于 UNIX 的操作系统 | 如何用c++制作计算机操作系统 | How-to-Make-a-Computer-Operating-System |
8 | 初学者快速实现网络编程、搭建属于自己的轻量级Web服务器的小项目 | Linux下C++轻量级Web服务器 | TinyWebServer |
9 | 数据可视化桌面工具 | 多用途串行数据可视化处理程序 | Serial-Studio |
10 | Windows 比较和合并工具 | WinMerge 是适用于 Windows 的开源差异和合并工具。 WinMerge 可以比较文件夹和文件,以易于理解和处理的视觉文本格式呈现差异。 | winmerge |
11 | 为知笔记跨平台客户端 | 该项目基于Qt,旨在提供一个基于云使用的优秀PKM(个人知识管理)桌面环境。 | WizQTClient |
12 | epoll+线程池的网络库、IO缓冲、异步日志、超时机制 | 基于IO多路复用和线程池的高性能c++网络库 | kingpin |
13 | 一个简单的IM客户端和服务器 | 一个简单的IM客户端和服务器,只有命令行界面 | TinyIM |
14 | 蘑菇街开源的一款用于企业内部的即时通信工具 | TeamTalk是一款蘑菇街开源的企业内部即时通讯软件,目前支持pc、安卓、IOS、Mac和web多个终端,这是各个版本的代码和部署脚本。 | TeamTalk |
15 | 即时通讯软件 flamingo | Flamingo IM 是一款高性能、轻量级的开源即时通讯软件,目前包括服务器端、pc 端、安卓端,微信版本和 IOS 版本目前正在开发中。 | flamingo |
16 | 高精度计时器 | StopWatch | |
17 | 自己实现智能指针 | 自己实现智能指针。个人觉得实现智能指针是绝好地练手方案,涉及到模板、对象的生命周期、三/五原则等等。 | smart_ptr |
18 | C++11 实现的简易版 STL | My STL 实现了 C++11 标准库的部分容器以及算法,同时又对标准库进行扩充。 | mystl |
19 | 仿QQ截图 | 仿QQ截图,C++实现的截图软件Demo | Screenshot |
20 | 轻量级网络框架 | 一个基于C++11的轻量级网络框架,基于线程池技术可以实现大并发网络IO | ZLToolKit |
21 | C语言实现的MD5算法源码 | md5 | |
22 | 基于epoll机制的高并发聊天室 | 基于epoll机制的高并发聊天室,c语言实现,代码源于网络仅供学习 | epoll |
23 | C++ 序列化库 | 实现的一个简易的 C++ 序列化库 | serialize |
24 | 简单http服务器 | C++实现的简单http服务器(进程池+epoll) | tinyserver |
25 | C++11 实现的动态线程池 | dpool | |
26 | MySql数据库的连接池 | MySql数据库的连接池实现,多用户的数据库访问。能够很好的管理数据库的连接 | MysqlPool |
27 |
No. | project name | introduce | link |
---|---|---|---|
1 | 重温同年俄罗斯方块 | tinytetris | |
2 | C++实现双人对战五子棋项目 | GoBangByCpp | |
3 | 自动走迷宫 | 慕课网C++课程封装篇作业,自动走迷宫 | mazecode |
4 | 俄罗斯方块 | 用C语言实现Win32程序,完成俄罗斯方块游戏程序 | C-LanguageProjectCombat |
5 | 学生管理系统 | C-LanguageProjectCombat | |
6 | 用cocos2dx做的微信<<飞机大战>>游戏 | 小学期c++实训项目,用cocos2dx做的微信<<飞机大战>>游戏. | AirPlaneGame |
7 | 坦克大战 | 这是学校布置的一个用c++做某事的小项目。 | Tank3000 |
8 | 球球大作战 | C语言实战期末项目 | Big_fight |
9 | 智能人机五子棋对战 | 一款AI五子棋项目,C++新手项目实践 — 智能人机五子棋对战。 | Gobang |
10 | 三国杀 | 此项目为三国杀游戏,模拟QQ注册,QQ登录,QQ加好友,QQ聊天,基于C#语言,SQL Server数据库开发, 游戏功能目前已经实现玩家VS人机,已支持英雄:刘备,曹操,孙权,支持穿着装备,武器,战马,杀死对方获得积分,开发工具:Visual Studio 2019,游戏基于手游游卡网络三国杀应用宝版本 2019年春季版本模拟,本项目持续更新! | sanguosha |
11 | 任天堂红白机模拟器 | 这是一个用c++编写的NES仿真器 | SimpleNES |
12 | 用C++写的一个简易贪吃蛇 | Snake-cpp | |
13 | 魔塔 | 当年很火的一个flash游戏,作者当时正在学习C++(VC++6.0),故移植了过去,纯学习练手 | MagicTower |
14 | 点餐系统 | c++控制台应用程序 | DiningSystem |
15 | 植物大战僵尸 | 植物大战僵尸多人对战,开发通过反向工程,内嵌钩子和动态链接库注入。两个在线玩家分别作为植物和僵尸进行防御和攻击。 | Plants-vs.-Zombies-Online-Battle |
16 | 王者荣耀风格的连连看程序 | Qt C++实现的王者荣耀风格的连连看程序(基于TD-framwork实现) | PictureMatching |
17 | ST-PUZZLE | ST_PUZZLE_2.0 | |
18 | 扫雷 | 开源项目:扫雷(Qt开发) | mines_sweeper |
19 | 2048 | 功能齐全的终端版游戏《2048》用c++编写 | 2048.cpp |
20 | 蜘蛛纸牌 | C++ 控制台 蜘蛛纸牌游戏 | Ancient-Spider |
21 | 纸牌游戏空当接龙 | Qt_FreeCell(纸牌游戏空当接龙C++/Qt实现)Topics | Qt_FreeCell |
22 | 纯C++ 捕鱼游戏 | CppFishingCode | |
23 | 高仿《节奏大师》游戏 | 用Cocos2d-x开发跨平台游戏,高仿《节奏大师》游戏 | Rhythm |
24 | 传奇挂机类游戏 | mirror | |
25 | C++ 和 OpenGL 实现简单的 3D 赛车 | 使用 C++ 和 OpenGL 实现简单的 3D 赛车游戏 | 3d-racing-games-demo |
26 | 魂斗罗 | 使用图形库easyx写的c++魂斗罗游戏 | Contra |
27 | 迷宫 | 基于C++-EasyX编写的益智小游戏-迷宫 | Maze |
28 | C语言小项目小游戏(适合初学者) | N个小游戏项目 | shushabgyuanyue/c |
29 |
- 《深入理解C++11:C++11新特性解析与应用》
- 《C++入门经典(第10版)》
- 《C++ Primer Plus 第6版 中文版(异步图书出品)》
- 《清华计算机图书译丛:精通C++(第9版)》
- 《C++高级编程(第4版)》
- 《C++游戏编程入门(第4版)(异步图书出品)》
- 《STL源码剖析》
- 《C++程序设计:原理与实践(基础篇)(原书第2版)》
- 《Accelerated C++中文版》
- 《C++编程思想(两卷合订本)》
- 《中文版Effective STL:50条有效使用STL的经验》
- 《C++编程剖析:问题、方案和设计准则》
- 《C++ Templates中文版》
- 《C++设计新思维》
- 《C++模板元编程》
- 《C++并发编程实战》
- 《C++程序设计语言(第1-3部分)(原书第4版)》
- 《C++标准库(第2版)》
- 《Essential C++》
- 《C++ 语言的设计与演化》
- 《深度探索C++ 对象模型》
- 《泛型编程与STL》
C/C++编译器列表
- Clang :由苹果公司开发的
- GCC:GNU编译器集合
- Intel C++ Compiler :由英特尔公司开发
- LLVM :模块化和可重用编译器和工具链技术的集合
- Microsoft Visual C++ :MSVC,由微软公司开发
- Open WatCom :Watcom,C,C++和Fortran交叉编译器和工具
- TCC :轻量级的C语言编译器
在线C/C++编译器列表
- codepad :在线编译器/解释器,一个简单的协作工具
- CodeTwist:一个简单的在线编译器/解释器,你可以粘贴的C,C++或者Java代码,在线执行并查看结果
- coliru :在线编译器/shell, 支持各种C++编译器
- Compiler Explorer:交互式编译器,可以进行汇编输出
- CompileOnline:Linux上在线编译和执行C++程序
- Ideone :一个在线编译器和调试工具,允许你在线编译源代码并执行,支持60多种编程语言。
C/C++调试器列表
- Comparison of debuggers :来自维基百科的调试器列表
- GDB :GNU调试器
- Valgrind:内存调试,内存泄露检测,性能分析工具。
C/C++集成开发环境列表
- AppCode :构建与JetBrains’ IntelliJ IDEA 平台上的用于Objective-C,C,C++,Java和Java开发的集成开发环境
- CLion:来自JetBrains的跨平台的C/C++的集成开发环境
- Code::Blocks :免费C,C++和Fortran的集成开发环境
- CodeLite :另一个跨平台的免费的C/C++集成开发环境
- Dev-C++:可移植的C/C++/C++11集成开发环境
- Eclipse CDT:基于Eclipse平台的功能齐全的C和C++集成开发环境
- Geany :轻量级的快速,跨平台的集成开发环境。
- IBM VisualAge :来自IBM的家庭计算机集成开发环境。
- Irony-mode:由libclang驱动的用于Emacs的C/C++微模式
- KDevelop:免费开源集成开发环境
- Microsoft Visual Studio :来自微软的集成开发环境
- NetBeans :主要用于Java开发的的集成开发环境,也支持其他语言,尤其是PHP,C/C++和HTML5。
- Qt Creator:跨平台的C++,Javascript和QML集成开发环境,也是Qt SDK的一部分。
- rtags:C/C++的客户端服务器索引,用于 跟基于clang的emacs的集成
- Xcode :由苹果公司开发
- YouCompleteMe:一个用于Vim的根据你敲的代码快速模糊搜索并进行代码补全的引擎。
- Bear :用于为clang工具生成编译数据库的工具
- Biicode:基于文件的简单依赖管理器。
- CMake :跨平台的免费开源软件用于管理软件使用独立编译的方法进行构建的过程。
- CPM:基于CMake和Git的C++包管理器
- FASTBuild:高性能,开源的构建系统,支持高度可扩展性的编译,缓冲和网络分布。
- Ninja :专注于速度的小型构建系统
- Scons :使用Python scipt 配置的软件构建工具
- tundra :高性能的代码构建系统,甚至对于非常大型的软件项目,也能提供最好的增量构建次数。
- tup:基于文件的构建系统,用于后台监控变化的文件。
提高质量,减少瑕疵的代码分析工具列表
- Cppcheck :静态C/C++代码分析工具
- include-what-you-use :使用clang进行代码分析的工具,可以#include在C和C++文件中。
- OCLint :用于C,C++和Objective-C的静态源代码分析工具,用于提高质量,减少瑕疵。
- Clang Static Analyzer:查找C,C++和Objective-C程序bug的源代码分析工具
- List of tools for static code analysis :来自维基百科的静态代码分析工具列表
- C++ Standard Library - 一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分
- Standard Template Library - 标准模板库
- C POSIX library - POSIX系统的C标准库规范
- ISO C++ Standards Committee - C++标准委员会
- C++ FAQ − C++ 常见问题
- Free Country − Free Country 提供了免费的 C++ 源代码和 C++ 库,这些源代码和库涵盖了压缩、存档、游戏编程、标准模板库和 GUI 编程等 C++ 编程领域。
- C and C++ Users Group − C 和 C++ 的用户团体提供了免费的涵盖各种编程领域 C++ 项目的源代码,包括 AI、动画、编译器、数据库、调试、加密、游戏、图形、GUI、语言工具、系统编程等
- LearnCpp - 免费学习c++编程
- CodeCogs - CodeCogs是一项协作的开放源码库,C/C++的数值方面的组件
- codeproject - codeproject提供的C/C++资源代码项目
- thoughtco - 游戏有关的C++源代码
- Free C/C++ Libraries - 免费C++源代码和其它有用的工具
- The C++ Standard Library - 这是一个收集了数C/C++网站链接列表的网页
- cplusplus - C++学习网站
- C++ Source Codes - 这是一个全面的关于C++的345个源代码清单