内存管理
进程虚拟地址空间、堆栈、静态内存、动态内存
小猪快点跑
这个作者很懒,什么都没留下…
展开
-
内存检查:mtrace 内存追踪、valgrind 工具
目录 一、mtrace 命令1、函数接口2、测试程序3、函数地址返回 二、valgrind 工具1、下载2、查看一、mtrace 命令$ gcc test.c -o test -g$ ./test$ mtrace test trace.log1、函数接口#include <mcheck.h>void m...转载 2019-10-28 18:00:31 · 1679 阅读 · 0 评论 -
静态内存 —— 动态内存(堆) —— 栈内存
一、三种内存1、栈内存 保存栈对象:保存函数调用相关信息(局部非静态对象、函数参数、、、)。 生存期:调用函数开始时在栈区分配内存,函数结束时释放内存。2、动态内存 保存动态对象:通过new在内存池中申请的,没有足够空间会抛出异常(std::bad_alloc),delete释放内存,并置空指针,少delete或者多delete都会造成...转载 2019-05-23 09:49:00 · 1302 阅读 · 0 评论 -
bss段和data段的区别
一、bss与data 一般情况下,一个程序本质上都是由bss段、data段、text段三个组成的——本概念是当前的计算机程序设计中是很重要的一个基本概念。而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。 在采用段式内存管理的架构中(比如intel的80x86系统),bss段(Block Started by...转载 2019-05-23 15:47:24 · 4326 阅读 · 0 评论