https://github.com/wang-bin/QtAV
QtAV是基於Qt和FFmpeg的多媒體播放庫。它可以幫助您以比以往更少的精力編寫播放器。
使用QtAV編寫媒體播放器非常容易,代碼如下:
GLWidgetRenderer2 renderer;renderer.show();AVPlayer player;player.setRenderer(&renderer);player.play("test.avi");
https://github.com/ErLinErYi/PlantsVsZombies
高仿植物大戰殭屍遊戲,遊戲引擎基於版本 Cocos2d-X v3.16,遊戲全部使用c++開發。
https://github.com/jvaelen/2048
又一個2048遊戲。遊戲邏輯用C ++編寫,GUI用Qt 5.2.1編寫。整個GUI是用代碼編寫的,沒有使用Qt Creator的UI設計器。使用觀察者模式將內核與GUI分離,因此很容易提取代碼,提取內核然後圍繞它構建新的GUI。
非常容易上手,直接QT打開pro文件,重新構建即可,下面是我自己編譯執行後試玩的動圖:
https://github.com/Nheko-Reborn/nheko
該項目的動機是為Matrix提供本機桌面應用程式,感覺更像是主流聊天應用程式(Riot,Telegram等),而不像IRC客戶端。使用高版本Qt和VS開發。
https://github.com/LiamBindle/MQTT-C
MQTT-C是用C語言編寫的MQTT v3.1.1客戶端。MQTT是基於發布者-訂閱者的輕量級消息傳遞協議,通常用於需要高延遲和低數據速率連結的IoT和網絡應用程式中。MQTT-C的目的是為嵌入式系統和PC等提供用C編寫的可攜式MQTT客戶端。MQTT-C通過提供透明的平臺抽象層(PAL)來做到這一點,該平臺使移植到新平臺變得容易。MQTT-C完全是線程安全的,但也可以在單線程系統上完美運行,這使得MQTT-C非常適合嵌入式系統和微控制器。最後,MQTT-C很小,只有兩個源文件總計少於2000行。
https://github.com/gabime/spdlog
非常快速的,僅頭文件/已編譯的C ++日誌記錄庫。
支持下列平臺:
功能:
基本用法:
#include "spdlog/spdlog.h"int main() { spdlog::info("Welcome to spdlog!"); spdlog::error("Some error message with arg: {}", 1); spdlog::warn("Easy padding in numbers like {:08d}", 12); spdlog::critical("Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42); spdlog::info("Support for floats {:03.2f}", 1.23456); spdlog::info("Positional args are {1} {0}..", "too", "supported"); spdlog::info("{:<30}", "left aligned"); spdlog::set_level(spdlog::level::debug); // Set global log level to debug spdlog::debug("This message should be displayed.."); // change log pattern spdlog::set_pattern("[%H:%M:%S %z] [%n] [%^---%L---%$] [thread %t] %v"); // Compile time log levels // define SPDLOG_ACTIVE_LEVEL to desired level SPDLOG_TRACE("Some trace message with param {}", 42); SPDLOG_DEBUG("Some debug message");}
https://github.com/JakubVojvoda/design-patterns-cpp
C++設計模式代碼實現。軟體設計模式是解決面向對象設計環境中反覆出現的問題的通用可重用解決方案。這不是可以直接轉換為原始碼的最終設計,而是解決問題的模板。我們可以按目的將它們分為創建性(抽象實例化過程),結構(如何將類和對象組成更大的結構)和行為模式(對象之間的職責分配)。
我之前也寫過23種設計模式的示例,但是看看別人的代碼還是能學習到很多東西的。