TinyTetris

TinyTetris 是一个用不到 1024 字节的 C 语言代码编写的迷你版俄罗斯方块游戏。该项目展示了如何在极其有限的资源环境下,用简洁的代码实现一个经典的游戏。

项目特点:

  • 极简代码: 整个俄罗斯方块游戏的实现仅用了不到 1024 字节的代码,这展示了 C 语言高效的表现力和作者的编码技巧。
  • 控制台游戏: 游戏在控制台中运行,利用字符和简单的控制来实现基本的游戏功能。
  • 经典玩法: 尽管代码极简,游戏依然保留了俄罗斯方块的核心玩法,包括方块下落、旋转、消行等功能。

提升你的校招简历:推荐高质量C++项目示例!_服务器

项目链接
 GitHub 仓库

Screenshot

Screenshot 是一个用于在Windows系统上捕获屏幕截图的工具。该项目使用C++编写,利用Windows API来实现屏幕截图功能,并提供了简单易用的界面或命令行选项。

项目特点

  • 屏幕截图功能: 项目可以捕获整个屏幕或指定区域的截图。
  • Windows API: 使用Windows API直接与系统交互,确保高效稳定的截图性能。
  • 轻量级工具: 代码结构简单,适合学习和扩展,用于理解如何在Windows环境下进行屏幕捕获。

可以作为一个基础工具,用于开发更复杂的截图应用或集成到其他项目中。

对于学习Windows编程和Windows API使用的开发者来说,这个项目是一个很好的参考,特别是如何利用C++与系统进行低级别交互。

提升你的校招简历:推荐高质量C++项目示例!_Redis_02

项目链接
 GitHub 仓库

MyPoorWebServer

MyPoorWebServer 是一个基于 C++ 开发的轻量级 Web 服务器项目。这个项目展示了如何从零开始实现一个高性能的 Web 服务器,适合作为学习和研究 Web 服务器实现的参考。

项目特点

  • 多线程支持: 服务器利用线程池处理请求,提升了并发性能,能够同时处理多个客户端连接。
  • Epoll I/O 复用: 使用 Epoll 机制实现高效的 I/O 复用,适合高并发场景。
  • 异步日志: 实现了异步日志记录功能,能够高效地记录服务器运行时的各种事件和错误信息。
  • HTTP协议支持: 服务器能够解析和响应 HTTP 请求,支持 GET 和 POST 请求的处理。
  • 连接管理: 实现了对客户端连接的有效管理,包括超时处理和连接关闭等机制。

这个项目非常适合作为学习 Web 服务器实现的教程,涵盖了多线程编程、I/O 复用、HTTP 协议解析等关键技术。

个人项目:

你可以在此项目的基础上进行功能扩展,增加更多的 Web 服务器特性,如支持 HTTPS、实现负载均衡等。

提升你的校招简历:推荐高质量C++项目示例!_服务器_03

项目链接
 GitHub 仓库

劫掠轩辕剑

《劫掠轩辕剑》是一部经典的RPG游戏作品,最初的发布版已经被破坏。本发布版不仅完善了游戏引擎,修正了故事情节,也同时开放开发工具链的源码。

提升你的校招简历:推荐高质量C++项目示例!_Windows_04


项目链接

 仓库地址

qTox

一个的即时通讯应用程序,提供安全、私密的通讯功能。它基于 Tox 协议,是一个去中心化的通讯平台,不依赖中央服务器。

项目特点

  1. qTox 使用 Tox 协议, 所有的通信数据都经过端到端加密,保证用户隐私安全。
  2. 支持文本聊天,包括单聊和群聊功能。 提供高质量的语音和视频通话功能,支持一对一和群体通话。用户可以通过 qTox 发送和接收文件。
  3. 兼容多种操作系统,用户可以在不同的设备上使用相同的 qTox 账户进行通讯。

提升你的校招简历:推荐高质量C++项目示例!_Redis_05

项目地址:  qTox

Muduo

由陈硕开发的一个现代化的 C++ 网络库,专注于构建高性能的多线程服务器应用程序。该项目的设计目标是提供一个简洁且高效的接口,用于开发基于 Reactor 模式的事件驱动网络服务。

项目特点

采用非阻塞 I/O 和事件驱动的 Reactor 模式,能高效地处理大量并发连接。使用现代 C++ 特性,如 RAII、智能指针等。

项目地址:  Muduo on GitHub

Crow

Crow 是一个用 C++ 编写的高性能 Web 框架,适用于构建 RESTful APIs 和 WebSocket 应用。它是一个轻量级的库,设计简单且易于使用,具有高效的异步 I/O 支持,适合对性能要求较高的项目。

项目特点

  • 轻量级和简单
  • 使用了异步 I/O 和 boost::asio,使得它能够高效处理大量并发请求。
  • 支持常见的 HTTP 方法
  • JSON 序列化与反序列化
  • 支持静态文件服务

项目地址:  Crow

SSDB

SSDB 是一个高性能的键值(key-string、key-zset、key-hashmap)NoSQL 数据库,是 Redis 的替代品。

SSDB性能稳定,已投入生产,并被包括奇虎360在内的多家互联网公司广泛使用。

项目特点

  • LevelDB 客户端-服务器支持,用 C/C++ 编写
  • 设计用于存储收集数据
  • 持久化key-value、key-zset、key-map(‘hashmap’)、key-list存储
  • 支持 Redis 客户端
  • 客户端 API 支持包括 C++、PHP、Python、Cpy、Java、nodejs、Ruby、Go(查看全部)
  • 持久队列服务
  • 复制(主从)、负载平衡
  • GUI 管理工具( phpssdbadmin )
  • 内置 CLI nagios 自检

项目地址:  SSDB on GitHub

TinyWebServer

项目简介

TinyWebServer 是一个用 C++ 实现的轻量级多线程 HTTP 服务器项目,帮助开发者学习和理解 HTTP 协议、C++ 多线程编程、以及高并发处理。该项目实现了基础的 GET 和 POST 请求处理,并集成了日志系统、线程池、定时器等功能。非常适合需要与 Redis 进行高效通信的 C++ 项目,尤其是那些涉及缓存、消息队列、数据存储等方面的应用程序。

项目特点

  • 使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和模拟Proactor均实现) 的并发模型
  • 使用状态机解析HTTP请求报文,支持解析GET和POST请求
  • 访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件
  • 实现同步/异步日志系统,记录服务器运行状态
  • 经Webbench压力测试可以实现上万的并发连接数据交换

项目地址:  TinyWebServer on GitHub

Workflow

Workflow 是一个由搜狗公司开发的 C++ 并行计算与异步网络框架,旨在为高性能网络应用和分布式系统提供支持。该框架提供了灵活且强大的异步编程接口,适用于构建复杂的并发系统。Workflow 框架结合了任务流和网络编程的特点,使得开发者可以用更简洁的代码实现高性能的应用程序。

项目特点

  1. 异步任务流: 提供基于任务流的异步编程模型,支持复杂的任务依赖和调度。
  2. 高性能网络: 内置异步网络库,优化 I/O 复用,支持多种协议(如 HTTP、RPC)。
  3. 灵活调度: 动态调整线程池和任务队列,提高资源利用率和处理效率。
  4. 易于扩展: 模块化设计,支持功能扩展和与现有系统集成。
  5. 高可靠性: 内置容错机制和日志管理,确保系统稳定运行。
  6. 分布式支持: 适合分布式计算,支持大规模任务调度和负载均衡。
  7. 高效内存管理: 优化内存使用,减少开销,提高性能。

项目地址:  Workflow on GitHub

cpp_redis

cpp_redis 是一个开源的 C++ Redis 客户端库,提供一个高效、易用的接口来与 Redis 数据库进行交互。该库支持异步和同步操作,并且可以轻松集成到 C++ 应用程序中。
项目特点:

  1. 异步操作: 通过集成 TACOPLAY 提供了强大的异步支持,能够高效处理 Redis 请求和响应,减少阻塞,提高性能。
  2. 同步支持: 虽然主要强调异步操作,cpp_redis 也支持同步调用,方便开发者在不同场景下选择合适的操作模式。
  3. 发布/订阅: 提供对 Redis 发布/订阅 (pub/sub) 模式的支持,使得用户可以方便地进行消息广播和接收。
  4. 线程安全: cpp_redis 是线程安全的,适用于多线程环境下的 Redis 交互,保证了数据一致性和程序稳定性。
  5. 轻量级依赖: 该项目仅依赖于少数第三方库,简化了集成和部署过程。
  6. 支持自定义连接管理器: 用户可以定制自己的连接管理逻辑,以适应特殊的使用场景和需求。
  7. Redis 集群支持: cpp_redis 还支持与 Redis 集群交互,能够自动处理节点的重新定位。

项目地址:
GitHub:  cpp_redis

QtAV

一个基于 Qt 和 FFmpeg 的跨平台多媒体库,提供简洁且强大的 API 来实现音视频播放功能。它不仅适用于 Qt/C++ 项目,还支持 QML。

项目特点

  1. 跨平台支持:QtAV 支持多种操作系统,包括 Windows、macOS、Linux、Android 和 iOS。
  2. 多种媒体格式支持:由于使用了 FFmpeg 作为底层解码器,QtAV 支持多种音视频格式,如 MP4、AVI、MKV、MP3、AAC 等。
  3. 高效的视频渲染:支持 OpenGL 渲染,提升视频播放的性能和流畅度,并支持 YUV、RGB 等多种视频格式的渲染。
  4. QML 支持:QtAV 提供了 QML API,使得开发者可以更容易地在 QML 中实现多媒体功能,适合开发跨平台的移动应用。
  5. 多语言支持:项目支持多种编程语言接口,包括 C++ 和 QML,方便不同背景的开发者使用。

项目链接

GitHub 仓库地址:  https://github.com/wang-bin/QtAV

QOwnNotes

一个纯文本文件记事本和待办事项列表管理器,支持 Markdown 并集成 Nextcloud / ownCloud。

提升你的校招简历:推荐高质量C++项目示例!_服务器_06

项目特点

  1. 可在 Windows、macOS 和 Linux 操作系统上运行
  2. 采用 Markdown 语法进行文本编辑
  3. 支持创建文件夹和子文件夹来管理笔记,并提供标签功能以便快速检索和分类。
  4. 内置强大的搜索功能,允许用户根据内容、标题或标签来查找笔记。还可以使用正则表达式进行高级搜索。

项目链接