C++项目-手写移植Nginx和SGI STL内存池源码课程介绍:
1、介绍source insight工具的常用操作,配置使用
2、逐行剖析SGI STL二级空间配置器内存池源代码
3、逐行剖析nginx内存池源代码
4、移植nginx内存池的源代码,使用OOP进行代码封装实现,输出项目代码,测试通过
5、移植SGI STL二级空间配置器内存池的源代码,输出项目代码,可以正常在容器中使用,测试通过
课程目标
1、掌握如何剖析开源代码,方法和流程
2、通过剖析开源代码,积累优秀的代码设计思想和良好的编程规范
3、掌握如何设计一个优秀的内存池(掌握SGI STL和nginx是如何在不同的应用场景下设计不同的内存池实现)
4、通过代码移植,更进一步的了解内存池的代码设计实现
适合人群
适合应聘C&C++研发相关岗位的高校学生,代码理解能力差,没有积累多少好的代码设计思想,没有开源代码剖析经验,缺少合适的内存池应用项目
课程目录:
01. source insight工具的使用介绍(2节) 02. SGI STL的vector容器源码如何管理对象(1节) 03. SGI STL二级空间配置器重要成员解读(1节) 04. 两个重要的辅助函数_S_round_up和_S_freelist_index代码解读(1节) 05. allocate内存分配函数代码解读(1节) 06. _S_refill函数代码解读(1节) 07. _S_chunk_alloc函数代码解读 - 1(1节) 08. deallocate内存释放函数代码解读(1节) 09. _S_chunk_alloc函数代码解读 - 2(1节) 10. _S_chunk_alloc函数代码解读 - 3(1节) 11. _S_chunk_alloc函数代码解读 - 4(1节) 12. reallocate内存扩容函数代码解读(1节) 13. nginx内存池创建函数代码解读(1节) 14. nginx内存池分配方案-小块内存分配代码解读(1节) 15. nginx内存池分配方案-大块内存分配释放代码解读(1节) 16. nginx内存池重置函数和小块内存回收方案代码解读(1节) 17. nginx内存池外部资源释放和内存池销毁代码解读(1节) 18. nginx源码编译测试内存池接口函数的功能(1节) 19. 跟着做nginx内存池源码移植项目 - 1(1节) 20. 跟着做nginx内存池源码移植项目 - 2(1节) 21. 跟着做nginx内存池源码移植项目 - 3(1节) 22. 跟着做SGI STL内存池源码移植项目 - 1(1节) 23. 跟着做SGI STL内存池源码移植项目 - 2(1节)