快捷搜索:  汽车  科技

github好玩有趣的开源项目(项目推荐第二弹)

github好玩有趣的开源项目(项目推荐第二弹)基于 C 11 的 tinySTL,代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合新手学习与参考。现在已经发布了 2.x.x 版本,实现了大部分 STL 中的容器与函数 。项目已经处于长期维护的阶段,即基本不会增加新的内容,只修复发现的 bug。https://github.com/Alinshans/MyTinySTL基于Qt5的开源跨平台Redis桌面管理器。https://github.com/plibither8/2048.cpp一个C 写的终端 2048 游戏。

github好玩有趣的开源项目(项目推荐第二弹)(1)

Sogou C Workflow

https://Github.com/sogou/workflow

搜狗公司C 服务器引擎,支撑搜狗几乎所有后端C 在线服务,包括所有搜索服务,云输入法,在线广告等,每日处理超百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数C 后端开发需求。

  • 快速搭建http服务器:

#include <stdio.h> #include "workflow/WFHttpServer.h" int main() { WFHttpServer server([](WFHttpTask *task) { task->get_resp()->append_output_body("<html>Hello World!</html>"); }); if (server.start(8888) == 0) { // start server on port 8888 getchar(); // press "Enter" to end. server.stop(); } return 0; }

  • 作为万能异步客户端。目前支持http,redis,mysql和kafka协议。
  • 实现自定义协议client/server,构建自己的RPC系统。srpc就是以它为基础,作为独立项目开源。支持srpc,brpc和thrift等协议。
  • 构建异步任务流,支持常用的串并联,也支持更加复杂的DAG结构。
  • 作为并行编程工具使用。除了网络任务,我们也包含计算任务的调度。所有类型的任务都可以放入同一个流中。
  • 在Linux系统下作为文件异步IO工具使用,性能超过任何标准调用。磁盘IO也是一种任务。
  • 实现任何计算与通讯关系非常复杂的高性能高并发的后端服务。
  • 构建服务网格(service mesh)系统。项目内置服务治理与负载均衡等功能。

编译和运行环境

  • 项目支持Linux,macOS,Windows等操作系统。Windows版以windows分支发布,使用iocp实现异步网络。用户接口与Linux版一致。
  • 支持所有CPU平台,包括32或64位x86处理器,大端或小端arm处理器。
  • 需要依赖于OpenSSL,推荐OpenSSL 1.1及以上版本。不喜欢SSL的用户可以使用nossl分支或study分支(无upstream),代码更简洁。但仍需链接crypto。
  • 项目使用了C 11标准,需要用支持C 11的编译器编译。但不依赖boost或asio。
  • 项目无其它依赖。如需使用kafka协议,需自行安装lz4,zstd和snappy几个压缩库。
RedisDesktopManager

https://github.com/uglide/RedisDesktopManager

基于Qt5的开源跨平台Redis桌面管理器。

github好玩有趣的开源项目(项目推荐第二弹)(2)

2048.cpp

https://github.com/plibither8/2048.cpp

一个C 写的终端 2048 游戏。

github好玩有趣的开源项目(项目推荐第二弹)(3)

MyTinySTL

https://github.com/Alinshans/MyTinySTL

基于 C 11 的 tinySTL,代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合新手学习与参考。现在已经发布了 2.x.x 版本,实现了大部分 STL 中的容器与函数 。项目已经处于长期维护的阶段,即基本不会增加新的内容,只修复发现的 bug。

示例代码如下:

// 弹出尾部元素 template <class T> void deque<T>::pop_back() { MYSTL_DEBUG(!empty()); if (end_.cur != end_.first) { --end_.cur; data_allocator::destroy(end_.cur); } else { --end_; data_allocator::destroy(end_.cur); destroy_buffer(end_.node 1 end_.node 1); } }TrafficMonitor

https://github.com/zhongyang219/TrafficMonitor

Traffic Monitor是一款用于Windows平台的网速监控悬浮窗软件,可以显示当前网速、CPU及内存利用率,支持嵌入到任务栏显示,支持更换皮肤、历史流量统计等功能。

  • 显示当前实现网络传输速率、CPU和内存占用率
  • 如果电脑有多个网卡,支持自动和手动选择网络连接
  • 查看网络详细信息
  • 支持嵌入到任务栏显示
  • 支持更换皮肤和自定义皮肤
  • 历史流量统计

github好玩有趣的开源项目(项目推荐第二弹)(4)

OpenCC

https://github.com/BYVoid/OpenCC

中文简繁转换开源项目,支持词汇级别的转换、异体字转换和地区习惯用词转换(中国大陆、台湾、香港、日本新字体)。不提供普通话与粤语的转换。

在线体验:https://opencc.byvoid.com/

github好玩有趣的开源项目(项目推荐第二弹)(5)

SimpleNES

https://github.com/amhndu/SimpleNES

用C 编写的NES模拟器,大约40%至50%的游戏可以正常运行(即不使用任何映射器或使用映射器1、2或3的游戏)。

github好玩有趣的开源项目(项目推荐第二弹)(6)

github好玩有趣的开源项目(项目推荐第二弹)(7)

猜您喜欢: