ZhiBing's blog(码上看世界) ZhiBing's blog(码上看世界)
首页
  • Linux工具链

    • shell命令
  • 构建

    • CMake
    • Makefile
  • 版本管理

    • Git
    • Github
  • IDE及工具

    • vscode
    • CLion
  • 设计模式

    • 设计原则
  • 编程语言

    • C++
    • Go
    • Python
    • Shell
  • 调试

    • gdb
  • 开发者测试

    • gtest
  • 系统支撑

    • 操作系统
  • 性能优化

    • 编译优化选项
    • perf
    • valgrind
  • 容器

    • Docker
  • 微服务

    • Rancher
  • 其他
  • 随笔
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)

ZhiBing Zheng

时间会回答成长
首页
  • Linux工具链

    • shell命令
  • 构建

    • CMake
    • Makefile
  • 版本管理

    • Git
    • Github
  • IDE及工具

    • vscode
    • CLion
  • 设计模式

    • 设计原则
  • 编程语言

    • C++
    • Go
    • Python
    • Shell
  • 调试

    • gdb
  • 开发者测试

    • gtest
  • 系统支撑

    • 操作系统
  • 性能优化

    • 编译优化选项
    • perf
    • valgrind
  • 容器

    • Docker
  • 微服务

    • Rancher
  • 其他
  • 随笔
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)
  • C++内存管理(Linux)

    • 一些概念
    zhengzhibing
    2022-11-06
    随笔
    目录

    C++内存管理(Linux)

    # C++内存管理(Linux)

    内存管理的解法 —— 内存池

    image-20220830200254111

    # 一些概念

    CRT : C Runtime Library

    **malloc()**分配内存时会有额外的内存开销。

    **free()**实现了碎片整合。

    new的动作:

    1. operator new
      1. malloc
    2. 调用构造函数
    3. 返回指针

    自定义对象池的好处就是减少额外内存开销(malloc存在额外开销)

    new[] / delete[]: 由于内存分配的时候有额外的cookie,所以delete[]就能推断free()几个对象

    allocator: std::__pool_alloc

    __pool_aloc适用于为size小于128 byte的类型进行的内存申请。

    上次更新: 2025/07/13, 18:55:16
    最近更新
    01
    noexcept函数抛出异常会怎么样
    07-14
    02
    修改程序的启动函数
    07-13
    03
    本地(mac m2 mini(16G))部署deepseek-r1
    02-02
    更多文章>
    Theme by Vdoing | Copyright © 2022-2025 ZhBing Zheng | 粤ICP备2022062743号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式