Skip to content

一个c/c++学习的库,包含经典项目,视频,书籍,面试题/算法题,技术文章。

Notifications You must be signed in to change notification settings

wenchao1024/introduce_c-cpp_manual

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🐮 全网搜集C/C++入门练手项目实战,包含100+经典项目,大厂面经,学习视频,推荐书籍,面试题/算法题


project


本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/C++项目实战到Linux服务器开发 ~ 22课时

🍳 软件

编译器

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++调试器列表

集成开发环境(IDE)

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:基于文件的构建系统,用于后台监控变化的文件。

静态代码分析

提高质量,减少瑕疵的代码分析工具列表

🌐 网站推荐

  • 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个源代码清单

🖌 刷一刷题

🏆 ACM


🚩 剑指offer

🎖️ leetcode

联系专栏

每天晚上8点【免费技术直播】:分享Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容。

关注微信公众号【后台服务架构师】👉【联系我们】(备注github直播链接),获取直播链接!

About

一个c/c++学习的库,包含经典项目,视频,书籍,面试题/算法题,技术文章。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%