# CppGuide **Repository Path**: balloonwj/CppGuide ## Basic Information - **Project Name**: CppGuide - **Description**: 优质的C++后端开发进阶学习资料~ - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 588 - **Forks**: 224 - **Created**: 2020-10-08 - **Last Updated**: 2025-06-03 ## Categories & Tags **Categories**: ebooks-manual **Tags**: None ## README 此仓库是公众号【**高性能服务器开发**】文章汇总,作者是张小方,clone或转发仓库文章时时请保留作者信息。 > CppGuide仓库配有专门的微信维护和交流群,加微信easy_coder备注“cppguide仓库”拉你进群。 在线阅读站点:**https://cppguide.cn** 在线阅读站点2:https://balloonwj.github.io/cpp-guide-web/ 在线阅读站点3: http://balloonwj.gitee.io/cpp-guide-web/ > **如需下载该站点源码用于自己搭建站点,可以在【CppGuide】微信公众号后台回复关键字“站点下载”即可得到搭建本仓库的站点的全套源码。** ![](articles/cppguide-wechat.png) ## Part I * [C++必知必会的知识点](articles/C++必知必会的知识点/README.md) * [如何成为一名合格的C/C++开发者?](articles/C++必知必会的知识点/如何成为一名合格的CC++开发者?.md) * [不定参数函数实现var_arg系列的宏](articles/C++必知必会的知识点/不定参数函数实现var_arg系列的宏.md) * [你一定要搞明白的C函数调用方式与栈原理](articles/C++必知必会的知识点/你一定要搞明白的C函数调用方式与栈原理.md) * [深入理解C/C++中的指针](articles/C++必知必会的知识点/深入理解CC++中的指针.md) * [详解C++11中的智能指针](articles/C++必知必会的知识点/详解C++11中的智能指针.md) * [C++17结构化绑定](articles/C++必知必会的知识点/C++17结构化绑定.md) * [C++必须掌握的pimpl惯用法](articles/C++必知必会的知识点/C++必须掌握的pimpl惯用法.md) * [用Visual Studio调试Linux程序](articles/C++必知必会的知识点/用VisualStudio调试Linux程序.md) * [如何使用Visual Studio管理和阅读开源项目代码](articles/C++必知必会的知识点/如何使用VisualStudio管理和阅读开源项目代码.md) * [利用cmake工具生成Visual Studio工程文件](articles/C++必知必会的知识点/利用cmake工具生成VisualStudio工程文件.md) * [多线程](articles/多线程/README.md) * [后台C++开发你一定要知道的条件变量](articles/多线程/后台C++开发你一定要知道的条件变量.md) * [整型变量赋值是原子操作吗?](articles/多线程/整型变量赋值是原子操作吗?.md) * [网络编程](articles/网络编程/README.md) * [bind 函数重难点解析](articles/网络编程/bind函数重难点解析.md) * [connect 函数在阻塞和非阻塞模式下的行为](articles/网络编程/connect函数在阻塞和非阻塞模式下的行为.md) * [select 函数重难点解析](articles/网络编程/select函数重难点解析.md) * [Linux epoll 模型(含LT 模式和 ET 模式详解)](articles/网络编程/Linuxepoll模型(含LT模式和ET模式详解).md) * [socket 的阻塞模式和非阻塞模式](articles/网络编程/socket的阻塞模式和非阻塞模式.md) * [非阻塞模式下 send 和 recv 函数的返回值](articles/网络编程/非阻塞模式下send和recv函数的返回值.md) * [服务器开发通信协议设计介绍](articles/网络编程/服务器开发通信协议设计介绍.md) * [TCP 协议如何解决粘包、半包问题](articles/网络编程/TCP协议如何解决粘包、半包问题.md) * [网络通信中收发数据的正确姿势](articles/网络编程/网络通信中收发数据的正确姿势.md) * [服务器端发数据时,如果对端一直不收,怎么办?](articles/网络编程/服务器端发数据时,如果对端一直不收,怎么办?.md) * [程序员必知必会的网络命令](articles/程序员必知必会的网络命令/README.md) * [利用telnet命令发电子邮件](articles/程序员必知必会的网络命令/利用telnet命令发电子邮件.md) * [做Java或者C++开发都应该知道的lsof命令](articles/程序员必知必会的网络命令/做Java或者C++开发都应该知道的lsof命令.md) * [Linux网络故障排查的瑞士军刀nc命令](articles/程序员必知必会的网络命令/Linux网络故障排查的瑞士军刀.md) * [Linux tcpdump使用详解](articles/程序员必知必会的网络命令/Linuxtcpdump使用介绍.md) * [从抓包的角度分析connect函数的连接过程](articles/程序员必知必会的网络命令/从抓包的角度分析connect函数的连接过程.md) * [服务器开发中网络数据分析与故障排查经验漫谈](articles/程序员必知必会的网络命令/服务器开发中网络数据分析与故障排查经验漫谈.md) ## Part II * [高性能服务器框架设计](articles/高性能服务器框架设计/README.md) * [主线程与工作线程的分工](articles/高性能服务器框架设计/主线程与工作线程的分工.md) * [Reactor模式](articles/高性能服务器框架设计/Reactor模式.md) * [实例:一个服务器程序的架构介绍](articles/高性能服务器框架设计/实例:一个服务器程序的架构介绍.md) * [错误码系统的设计](articles/高性能服务器框架设计/错误码系统的设计.md) * [日志系统的设计](articles/高性能服务器框架设计/日志系统的设计.md) * [如何设计断线自动重连机制](articles/高性能服务器框架设计/如何设计断线自动重连机制.md) * [心跳包机制设计详解](articles/高性能服务器框架设计/心跳包机制设计详解.md) * [业务数据处理一定要单独开线程吗](articles/高性能服务器框架设计/业务数据处理一定要单独开线程吗.md) * [C++ 高性能服务器网络框架设计细节](articles/高性能服务器框架设计/C++高性能服务器网络框架设计细节.md) * [服务器开发案例实战](articles/服务器开发案例实战/README.md) * [从零实现一个http服务器](articles/服务器开发案例实战/从零实现一个http服务器.md) * [从零实现一款12306刷票软件](articles/服务器开发案例实战/从零实现一款12306刷票软件.md) * [从零实现一个邮件收发客户端](articles/服务器开发案例实战/从零实现一个邮件收发客户端.md) * [从零开发一个WebSocket服务器](articles/服务器开发案例实战/从零开发一个WebSocket服务器.md) * [从零学习开源项目系列(一)从一款多人联机实时对战游戏开始](articles/服务器开发案例实战/1从一款多人联机实时对战游戏开始.md) * [从零学习开源项目系列(二)最后一战概况](articles/服务器开发案例实战/2最后一战概况.md) * [从零学习开源项目系列(三) CSBattleMgr服务源码研究](articles/服务器开发案例实战/3CSBattleMgr服务源码研究.md) * [从零学习开源项目系列(四)LogServer源码探究](articles/服务器开发案例实战/4LogServer源码探究.md) ## Part III * [TeamTalk IM源码分析](articles/TeamTalk源码解析/index.md) * [01 TeamTalk介绍](articles/TeamTalk源码解析/01TeamTalk介绍.md) * [02 服务器端的程序的编译与部署](articles/TeamTalk源码解析/02服务器端的程序的编译与部署.md) * [03 服务器端的程序架构介绍](articles/TeamTalk源码解析/03服务器端的程序架构介绍.md) * [04 服务器端db_proxy_server源码分析](articles/TeamTalk源码解析/04服务器端db_proxy_server源码分析.md) * [05 服务器端msg_server源码分析](articles/TeamTalk源码解析/05服务器端msg_server源码分析.md) * [06 服务器端login_server源码分析](articles/TeamTalk源码解析/06服务器端login_server源码分析.md) * [07 服务器端msfs源码分析](articles/TeamTalk源码解析/07服务器端msfs源码分析.md) * [08 服务器端file_server源码分析](articles/TeamTalk源码解析/08服务器端file_server源码分析.md) * [09 服务器端route_server源码分析](articles/TeamTalk源码解析/09服务器端route_server源码分析.md) * [10 开放一个TeamTalk测试服务器地址和几个测试账号](articles/TeamTalk源码解析/10开放一个TeamTalk测试服务器地址和几个测试账号.md) * [11 pc客户端源码分析](articles/TeamTalk源码解析/11pc客户端源码分析.md) * [libevent源码深度剖析](articles/libevent源码深度剖析/index.md) * [libevent源码深度剖析01](articles/libevent源码深度剖析/libevent源码深度剖析01.md) * [libevent源码深度剖析02](articles/libevent源码深度剖析/libevent源码深度剖析02.md) * [libevent源码深度剖析03](articles/libevent源码深度剖析/libevent源码深度剖析03.md) * [libevent源码深度剖析04](articles/libevent源码深度剖析/libevent源码深度剖析04.md) * [libevent源码深度剖析05](articles/libevent源码深度剖析/libevent源码深度剖析05.md) * [libevent源码深度剖析06](articles/libevent源码深度剖析/libevent源码深度剖析06.md) * [libevent源码深度剖析07](articles/libevent源码深度剖析/libevent源码深度剖析07.md) * [libevent源码深度剖析08](articles/libevent源码深度剖析/libevent源码深度剖析08.md) * [libevent源码深度剖析09](articles/libevent源码深度剖析/libevent源码深度剖析09.md) * [libevent源码深度剖析10](articles/libevent源码深度剖析/libevent源码深度剖析10.md) * [libevent源码深度剖析11](articles/libevent源码深度剖析/libevent源码深度剖析11.md) * [libevent源码深度剖析12](articles/libevent源码深度剖析/libevent源码深度剖析12.md) * [libevent源码深度剖析13](articles/libevent源码深度剖析/libevent源码深度剖析13.md) * [leveldb源码分析](articles/leveldb源码分析/README.md) * [leveldb源码分析1](articles/leveldb源码分析/leveldb源码分析1.md) * [leveldb源码分析2](articles/leveldb源码分析/leveldb源码分析2.md) * [leveldb源码分析3](articles/leveldb源码分析/leveldb源码分析3.md) * [leveldb源码分析4](articles/leveldb源码分析/leveldb源码分析4.md) * [leveldb源码分析5](articles/leveldb源码分析/leveldb源码分析5.md) * [leveldb源码分析6](articles/leveldb源码分析/leveldb源码分析6.md) * [leveldb源码分析7](articles/leveldb源码分析/leveldb源码分析7.md) * [leveldb源码分析8](articles/leveldb源码分析/leveldb源码分析8.md) * [leveldb源码分析9](articles/leveldb源码分析/leveldb源码分析9.md) * [leveldb源码分析10](articles/leveldb源码分析/leveldb源码分析10.md) * [leveldb源码分析11](articles/leveldb源码分析/leveldb源码分析11.md) * [leveldb源码分析12](articles/leveldb源码分析/leveldb源码分析12.md) * [leveldb源码分析13](articles/leveldb源码分析/leveldb源码分析13.md) * [leveldb源码分析14](articles/leveldb源码分析/leveldb源码分析14.md) * [leveldb源码分析15](articles/leveldb源码分析/leveldb源码分析15.md) * [leveldb源码分析16](articles/leveldb源码分析/leveldb源码分析16.md) * [leveldb源码分析17](articles/leveldb源码分析/leveldb源码分析17.md) * [leveldb源码分析18](articles/leveldb源码分析/leveldb源码分析18.md) * [leveldb源码分析19](articles/leveldb源码分析/leveldb源码分析19.md) * [leveldb源码分析20](articles/leveldb源码分析/leveldb源码分析20.md) * [leveldb源码分析21](articles/leveldb源码分析/leveldb源码分析21.md) * [leveldb源码分析22](articles/leveldb源码分析/leveldb源码分析22.md) * [Memcached源码分析](articles/Memcached源码分析/README.md) * [00 服务器资源调整](articles/Memcached源码分析/00服务器资源调整.md) * [01 初始化参数解析](articles/Memcached源码分析/01初始化参数解析.md) * [02 网络监听的建立](articles/Memcached源码分析/02网络监听的建立.md) * [03 网络连接建立](articles/Memcached源码分析/03网络连接建立.md) * [04 内存初始化](articles/Memcached源码分析/04内存初始化.md) * [05 资源初始化](articles/Memcached源码分析/05资源初始化.md) * [06 get过程](articles/Memcached源码分析/06get过程.md) * [07 cas属性](articles/Memcached源码分析/07cas属性.md) * [08 内存池](articles/Memcached源码分析/08内存池.md) * [09 连接队列](articles/Memcached源码分析/09连接队列.md) * [10 Hash表操作](articles/Memcached源码分析/10Hash表操作.md) * [12 set操作](articles/Memcached源码分析/12set操作.md) * [13 do_item_alloc操作](articles/Memcached源码分析/13do_item_alloc操作.md) * [14 item结构](articles/Memcached源码分析/14item结构.md) * [15 Hash表扩容](articles/Memcached源码分析/15Hash表扩容.md) * [16 线程交互](articles/Memcached源码分析/16线程交互.md) * [17 状态机](articles/Memcached源码分析/17状态机.md) * [游戏开发专题](articles/游戏开发专题/README.md) * [1 游戏服务器开发的基本体系与服务器端开发的一些建议](articles/游戏开发专题/1游戏服务器开发的基本体系与服务器端开发的一些建议.md) * [2 网络游戏服务器开发框架设计介绍](articles/游戏开发专题/2网络游戏服务器开发框架设计介绍.md) * [3 游戏后端开发需要掌握的知识](articles/游戏开发专题/3游戏后端开发需要掌握的知识.md) * [4 关于游戏服务端架构的整理](articles/游戏开发专题/4关于游戏服务端架构的整理.md) * [5 各类游戏对应的服务端架构](articles/游戏开发专题/5各类游戏对应的服务端架构.md) * [6 从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则](articles/游戏开发专题/6从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则.md) * [7 QQ游戏百万人同时在线服务器架构实现](articles/游戏开发专题/7QQ游戏百万人同时在线服务器架构实现.md) * [8 大型多人在线游戏服务器架构设计](articles/游戏开发专题/8大型多人在线游戏服务器架构设计.md) * [9 百万用户级游戏服务器架构设计](articles/游戏开发专题/9百万用户级游戏服务器架构设计.md) * [10 十万在线的WebGame的数据库设计思路](articles/游戏开发专题/10十万在线的WebGame的数据库设计思路.md) * [11 一种高性能网络游戏服务器架构设计](articles/游戏开发专题/11一种高性能网络游戏服务器架构设计.md) * [12 经典游戏服务器端架构概述](articles/游戏开发专题/12经典游戏服务器端架构概述.md) * [13 游戏跨服架构进化之路](articles/游戏开发专题/13游戏跨服架构进化之路.md) ## Part IV * [程序员面试题精讲](articles/程序员面试题精讲/README.md) * [腾讯后台开发实习生技能要求](articles/程序员面试题精讲/腾讯后台开发实习生技能要求.md) * [聊聊如何拿大厂的 offer](articles/程序员面试题精讲/聊聊如何拿大厂的offer.md) * [网络通信题目集锦](articles/程序员面试题精讲/网络通信题目集锦.md) * [我面试后端开发经理的经历](articles/程序员面试题精讲/我面试后端开发经理的经历.md) * [Linux C/C++后端开发面试问哪些问题](articles/程序员面试题精讲/LinuxCC++后端开发面试问哪些问题.md) * [职业规划](articles/职业规划/README.md) * [给工作 4 年迷茫的程序员们的一点建议](articles/职业规划/给工作4年迷茫的程序员们的一点建议.md) * [聊聊技术人员的常见的职业问题](articles/职业规划/聊聊技术人员的常见的职业问题.md) * [写给那些傻傻想做服务器开发的朋友](articles/职业规划/写给那些傻傻想做服务器开发的朋友.md) * [自我提升与开源代码](articles/自我提升与开源代码/README.md) * [2020 年好好读一读开源代码吧](articles/自我提升与开源代码/2020年好好读一读开源代码吧.md) * [后端开发相关的书籍](articles/后端开发相关的书籍/README.md) * [后台开发应该读的书](articles/后端开发相关的书籍/后台开发应该读的书.md) * [程序员的简历](articles/程序员的简历/README.md) * [程序员如何写简历](articles/程序员的简历/程序员如何写简历.md) * [程序员的薪资与年终奖那些事儿](articles/程序员的薪资与年终奖那些事儿/README.md) * [技术面试与HR谈薪资技巧](articles/程序员的薪资与年终奖那些事儿/技术面试与HR谈薪资技巧.md) * [聊一聊程序员如何增加收入](articles/程序员的薪资与年终奖那些事儿/聊一聊程序员如何增加收入.md) * [谈一谈年终奖](articles/程序员的薪资与年终奖那些事儿/谈一谈年终奖.md) * [程序员的烦心事](articles/程序员的烦心事/README.md) * [拒绝了一家公司的offer后,他们的副总和hr总监同时打电话来询问拒绝原因并极力要求加入,我该不该去?](articles/程序员的烦心事/拒绝了一家公司的offer后,他们的副总和hr总监同时打电话来询问拒绝原因并极力要求加入,我该不该去?.md) * [我是一名程序员,结婚时女友要求我用两年的工资作为彩礼,我该不该答应?](articles/程序员的烦心事/我是一名程序员,结婚时女友要求我用两年的工资作为彩礼,我该不该答应?.md) * [作者的故事](articles/作者的故事/README.md) * [我的 2019](articles/作者的故事/我的2019.md) * [我是如何年薪五十万的](articles/作者的故事/我是如何年薪五十万的.md) ## 贡献者 > 你也可以给该仓库提交修改内容,如果你的 PULL Requeset 被采纳,你的名字将会出现在贡献者列表中。 > 如果您在阅读上述文章的过程中有任何问题或者建议,可以加本仓库微信交流群交流,可以先微信 easy_coder,备注“CppGuide”,备注不对不加哦。 > 仓库中部分文章来源于网络,侵权请联系删除。 > 本仓库备份QQ交流群:169315117 ## 捐赠与支持 如果你觉得本仓库对你有帮助,想可以请小方喝杯咖啡,扫描下面的任一二维码捐赠即可。 ![](articles/wechat_pay.png) ![](articles/zfb_pay.png) Good Luck and Enjoy it!