Skip to content

Latest commit

 

History

History
80 lines (46 loc) · 4.05 KB

projects.md

File metadata and controls

80 lines (46 loc) · 4.05 KB

This page lists the useful opensource projects in C++, along with a description of the project's purpose.

Qt

Qt is a useful framework to develop GUI programs, allowing programs to run perfectly in most platforms.

The core feature of Qt is signal/slot, which makes it easy and safe to interact between different modules.

CGAL

A set of libraries providing easy access to geometric algorithms.

It gives dozens of demo codes in every single package and detailed tutorials, making it quick to start.

Cocos2d-x

Author: Biru Yang Date : 2020.6.23

Cocos2d-x是国内普及度较高的一款开源的跨平台移动2D游戏框架,其主要侧重于原生移动平台,适配iOS、Android、Windows、Mac等系统。其官网是这样描述这个框架的:

引擎提供了图形渲染、GUI、音频、网络、物理、用户输入等丰富的功能,被广泛应用于游戏开发及交互式应用的构建。

其核心部分用C++编写,支持用C++、Lua进行开发。

Cocos2d-x的用户既有小型的独立游戏工作室,也有如Zynga、Gamevil、Disney Mobile这样的知名公司。

其官网为:Cocos2d-x

其在github上的页面为:cocos2d-x_github

Lua

Author: Biru Yang Date : 2020.6.23

Lua是一个轻量级脚本语言,由巴西里约热内卢天主教大学的一个三人研究小组于1993年开发。

它由标准C编成,可通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能,几乎在所有操作系统和平台上都能运行。

其主要优势如下:

  • 可扩展:Lua脚本可以被C/C++调用,也可以调用C/C++的函数。
  • 轻量级:其代码简洁,体积小、启动速度快。
  • 其它特性:同时支持面向过程函数式编程

由于其良好的可扩展性,许多知名应用和游戏(如 魔兽世界饥荒)都将其作为嵌入式脚本语言。

其官网为Lua官网,在其上有对Lua特性的更全面、详尽的介绍,一个简明的入门手册,以及免下载的Lua体验页面。

EasyX

EasyX is a graphic library for C++ that helps users get started with graphics and game programming quickly. Official website: https://easyx.cn.

This project provides a simple NES emulator written in C++. You can run some classic Nintendo games like SuperMarioBros with this NES.

I recommend this project because of both its simplicity and profundity. This project includes only less than 30 files, each of which has no more than 1000 lines of codes, which is very suitable for C++ beginners. Despite its simplicity, we can learn a lot about computer system architeture, which is really important for cs majors, including how CPU executes instructions, how the memory is allocated and so on.

LiquidFun

1. Overview

LiquidFun is a 2D rigid-body and fluid simulation C++ library for games based upon Box2D.
It provides support for procedural animation of physical bodies to make objects move and interact in realistic ways. LiquidFun source code is available for download from github.com/google/liquidfun.

2. Purpose

It provides support for procedural animation of physical bodies to make objects move and interact in realistic ways.

CppJieba

https://github.com/yanyiwu/cppjieba

结巴中文分词的Cpp版本,支持多种分词模式,将句子拆分成词以进行文本分析等应用。

Bitcoin

Bitcoin is the largest cryptocurrency in the world. It is a decentralized currency and relies on peer-to-peer communications, meaning it has no authority and, being open-source, anyone can make edits. The name of the software bitcoin is built on is called "Bitcoin Core", and can be found here: https://github.com/bitcoin/bitcoin

Google Test

Google Test is Google's C++ testing and mocking framework. You can learn how to use it on https://google.github.io/googletest/. Website: https://github.com/google/googletest/