动态内存管理(malloc/calloc/realloc/free) + 内存五大分区 完全笔记 说明:栈(Stack)和堆(Heap)在STM32上具体怎么配置大小、怎么排查栈溢出, "内存管理笔记"里已经详细讲过,这篇不重复展开,只在讲五大分区时简要提及、 串联起来,重点放在malloc家族函数的细节和.text/.rodata/.data/.bss这几个 "编译期就确定"的静态分区上。一、内存"五大分区"是什么,先澄清一个容易有分歧的地方一个C程序运行时,内存大致会被划分成几块,每块存放不同性质的内容: .text (代码段):编译后的机器指令 .rodata(只读数据段):字符串常量、const修饰的全局/静态数据 .data (已初始化数据段):初始值不为0的全局/静态变量 .bss (未初始化数据段):没有显式初始化、或者显式初始化为0的全局/静态变量 堆(Heap):malloc/calloc/realloc动态申请的内存 栈(Stack):函数调用、局部变量 ⚠️ "五大分区"具体怎么数,不同教材/资料说法不完全一致,这里如实说明: 常见的一种数法:代码段 + 数据段(.data) + BSS段 + 堆 + 栈,正好5个, 这种数法里.rodata经常被归并到代码段一起讲,不单独算一个分区 另一种数法:把.text/.rodata/.data/.bss算作4个"静态区"(编译时就确定大小和内容), 再加上堆和栈这两个"运行时动态区",一共6个部分 你如果在不同资料里看到"五大区"具体指代的东西对不上,属于正常现象, 不是谁错了,只是划分粒度不同,理解每一块具体存什么、怎么工作, 比纠结"到底该数成5个还是6个"更重要,这篇笔记把每一块都讲

相关新闻

最新新闻

用SpringBoot开发RESTfulAPI:从设计到部署

用SpringBoot开发RESTfulAPI:从设计到部署

RESTful API的设计从来不是写几个Controller、加上RestController注解那么简单。很多团队把Spring Boot当成一个快速生产的魔盒,塞进一堆GetMapping和PostMapping,结果上线后接口混乱、版本爆炸、错误响应千奇百怪——这根本不是在开发API,而…

2026/7/9 7:01:37
比写代码更磨人的事,墨刀AI+Claude 3.5,两天干完一周的活

比写代码更磨人的事,墨刀AI+Claude 3.5,两天干完一周的活

开发圈里Claude 3.5 Sonnet和Cursor确实火,我身边不少同事也都在用,写代码、修Bug确实省心。尤其是那种绕人的算法逻辑或者一行正则搞定的场景,用它比自己硬啃快太多了。但对那些搞独立开发的全栈/前端来说,最磨人的不是写代码&am…

2026/7/9 7:01:37
混合办公与多云时代,第一线 DYXnet 为企业构建更稳健的云网安全体系

混合办公与多云时代,第一线 DYXnet 为企业构建更稳健的云网安全体系

企业上云、远程办公和多分支运营已经成为常态。与此同时,企业IT环境也变得更加复杂:员工可能在不同城市和国家访问系统,业务应用分布在多个云平台,邮件、账号、终端和网络访问都面临安全风险。对企业来说,网络安全已经…

2026/7/9 7:01:37
2026 AI短视频全链路实战教程:1天批量生产10条爆款视频,普通开发者也能实现内容创业!

2026 AI短视频全链路实战教程:1天批量生产10条爆款视频,普通开发者也能实现内容创业!

2026 AI短视频爆款全链路实战教程:1天生产10条病毒视频,普通人也能月入过万!大家好,我是你的AI实战老司机。2026年,短视频依然是流量最大的赛道之一。而AI的出现,彻底把内容创作门槛拉到了冰点——不会剪辑…

2026/7/9 7:01:37
tmgm mt5快讯:人工智能领域多项动态集中出现,技术应用与政策场景持续推进

tmgm mt5快讯:人工智能领域多项动态集中出现,技术应用与政策场景持续推进

7月8日讯,近期人工智能领域出现多项值得关注的动态,涉及大模型使用限制、企业高层变动、AI图像生成应用,以及政务领域人工智能场景建设等多个方面。相关信息显示,人工智能技术仍在产品应用、平台生态和公共服务场景中持续推进。据…

2026/7/9 7:01:37
专业的区域教育一体化管理平台哪个源头厂家好

专业的区域教育一体化管理平台哪个源头厂家好

在当今教育信息化的大背景下,如何选择一个专业且高效的区域教育一体化管理平台成为了许多教育管理者和教师关注的焦点。本文将从多个维度对比分析,为大家推荐一款优秀的平台——安徽晓窗教育科技有限公司(以下简称“晓窗”)。一、…

2026/7/9 6:56:37

月新闻