haimianjie工作日记:2023年8月

haimianjie工作日记:2023年7月

C++开源项目

MyTinySTL

项目名称: MyTinySTL
项目简介: 很多人表示学完C++不知道用来干什么,我觉得学完C++的第一个练手的好机会那就是自己试着实现一个小型的STL库。MyTinySTL的作者它就用 C++11 重新复写了一个小型 STL(容器库+算法库)。代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,非常适合新手学习与参考!
项目源码:https://github.com/Alinshans/MyTinySTL

Tinyhttpd

项目名称: Tinyhttpd
项目简介:Tinyhttpd 是J. David Blackstone在1999年写的一个不到 500 行的超轻量型 Http Server,用来学习非常不错,可以帮助我们真正理解服务器程序的本质。建议源码阅读顺序为:main->startup->accept_request->execute_cgi, 通晓主要工作流程后再仔细把每个函数的源码看一看。这500行代码吃透了,C语言的功底就会大幅提升。
项目源码:https://github.com/EZLippi/Tinyhttpd

muduo

项目名称: muduo
项目简介: muduo是一个基于Boost库实现的现代C++高并发网络库,由陈硕大神编写。它一个高质量的事件驱动型的网络库,其核心代码不超过4500行,使用 non-blocking IO(IO multiplexing) + one loop per thread模型,适合开发 Linux 下的多线程服务端应用程序,通过阅读源码还可学习到 C++ 语言、Linux 网络编程等后端知识。

项目源码:https://github.com/chenshuo/muduo

CppNet

项目名称: CppNet
项目简介: CppNet一个封装在 TCP 协议上的 Proactor 模式 multi-thread 网络库。包含 OS 接口调用、回调处理、定时器、缓存管理等,这里有从操作系统到应用层的所有网络细节,便于初学者学习和实践。
简单:只导出了最少量的接口,其声明都类似系统 socket API。对客户端而言,只新增了一个 buffer 类型
快速:采用性能最优的 epoll 和 IOCP 做事件驱动。每个连接都独享一个内存池,从内存池中申请的内存都由智能指针管理
清晰:结构上分为事件驱动,会话管理,接口三层,通过回调向上通知。模块之间职责分工明确,最大的类不超过 500 行代码

项目源码:https://github.com/caozhiyi/CppNet

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haimianjie2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值