c++内存管理
文章平均质量分 93
高性能架构探索
公众号:高性能架构探索
展开
-
常见的【内存泄漏】姿势
关注公众号【高性能架构探索】,第一时间获取干货;回复【pdf】,免费获取计算机经典书籍本文节选自文章:内存泄漏-原因、避免以及定位本文总结常见内存泄漏的几种方式,留意到这几点,可以避免95+%以上的内存泄漏未释放这种是很常见的,比如下面的代码:int fun() { char * pBuffer = malloc(sizeof(char)); /* Do some work */ return 0;}上面代码是非常常见的内存泄漏场景(也可以使用new来.原创 2022-01-17 12:07:06 · 6981 阅读 · 13 评论 -
深入理解指针
关注公众号【高性能架构探索】,回复【pdf】,免费获取计算机经典资料起源之前在知乎上看了一句话,指针是C的精髓,也是初学者的一个坎。换句话说,内存管理是C的精髓,C/C++可以直接跟OS打交道,从性能角度出发,开发者可以根据自己的实际使用场景灵活进行内存分配和释放。虽然在C++中自C++11引入了smart pointer,虽然很大程度上能够避免使用裸指针,但仍然不能完全避免,最重要的一个原因是你不能保证组内其他人不适用指针,更不能保证合作部门不使用指针。那么为什么C/C++中会存在指针呢?这就.原创 2022-01-13 06:17:43 · 959 阅读 · 23 评论 -
记一次线上故障的排查过程
记录了某次线上进程崩溃的整个排查过程原创 2021-12-21 12:25:05 · 1187 阅读 · 15 评论 -
性能优化-高效内存池的设计与实现
原文地址:高效内存池的设计与实现关注公众号【高性能架构探索】,也可以后台回复【pdf】,获取计算机必备经典书籍大家好,我是雨乐!在之前的文章中,我们分析了glibc内存管理相关的内容,里面的是不是逻辑复杂????,毕竟咱们用几十行代码完成的功能,glibc要用上百乃至上千行代码来实现,毕竟它的受众太多了,需要考虑跨平台,各种边界条件等。其实,glibc的内存分配库ptmalloc也可以看做是一个内存池,出于性能考虑,每次内存申请都是先从ptmalloc中进行分配,如果没有合适的则通过系统分配函原创 2021-12-07 22:00:25 · 2551 阅读 · 7 评论 -
c++对象内存布局
了解你所使用的编程语言究竟是如何实现的,对于C++程序员可能特别有意义。首先,它可以去除我们对于所使用语言的神秘感,使我们不至于对于编译器干的活感到完全不可思议;尤其重要的是,它使我们在Debug和使用语言高级特性的时候,有更多的把握。当需要提高代码效率的时候,这些知识也能够很好地帮助我们。简单非多态的内存布局classX{intx;floatxx;public:X(){}~X(){}voidprintInt()...原创 2021-04-09 17:34:42 · 423 阅读 · 1 评论