news 2026/7/24 22:54:16

为什么 SPACE 不占用目标文件的大小?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么 SPACE 不占用目标文件的大小?

难度:★★
本文首发于我的嵌入式技术号「OneChan」,未经授权禁止转载。


在启动文件里,你一定见过这样的代码:

Stack_Size EQU 0x00000400 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size __initial_sp

这定义了一个 1KB 的栈空间。

然后你编译,去看生成的目标文件(startup.o),发现它的大小可能只有几百个字节。

明明 SPACE 分配了 1024 个字节的空间,为什么文件大小没有增加 1024 个字节?

如果这 1024 个字节都真实存在文件里,那启动文件岂不是轻轻松松编译出几 MB 的目标文件?

答案在于:编译器并没有把这 1024 个字节真的放进文件里,而是在文件的“目录”里记了一笔账:这里需要一块空地,运行时记得留出来。

今天,我们就来剖析这个“记账”机制——ELF 文件中的SHT_NOBITS段,以及它为什么是嵌入式系统最优雅的设计之一。


一、一个反直觉的实验:SPACE 到底占了多少空间

做一个简单的对比实验。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/24 22:51:27

su-03t离线语音模块与stm32单片机通信方法

手把手教程,基础薄弱的也能看懂!由于关于此模块连接stm32的教程较少,避免自己忘记特此记录一下。1.搜索智能公元并进行登录2.选择产品管理中的所有产品并创建一个产品3.产品类别选择其他--其他产品4.场景选择纯离线方案5.模组选择su-03t&…

作者头像 李华
网站建设 2026/7/24 22:50:51

零基础掌握AI股票分析:3步打造个人智能投资系统

零基础掌握AI股票分析:3步打造个人智能投资系统 在信息爆炸的股票市场中,你是否面临这样的困境:每天花费数小时盯盘看新闻,却依然难以把握市场脉络?面对海量数据和技术指标,不知如何筛选有效信息&#xff…

作者头像 李华
网站建设 2026/7/24 22:47:09

5070≥4090!黄仁勋引爆科技春晚,NVIDIA要做机器人界的ChatGPT

“女士们、先生们,欢迎来到英伟达。你现在身处我们的数字孪生世界中。此处所有内容均由人工智能生成。” 穿着标志性皮衣的英伟达 CEO 黄仁勋踌躇满志。刚刚,这位身价千亿的科技巨子在人称“科技界春晚”的 CES 2025(国际消费类电子产品展览会…

作者头像 李华
网站建设 2026/7/24 22:45:56

开源项目终极指南:5步规避法律风险与合规运营

开源项目终极指南:5步规避法律风险与合规运营 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 在开源社区快速发展的今天,如何确保项目合规运营成为每个开发者必须面对的重要课题。本文将通过一个真实…

作者头像 李华
网站建设 2026/7/24 22:44:06

Moneta外汇问题说明方式够不够顺手?

从另一个层面看,把问题说明方式够不够顺手放进真实使用情境里观察,Moneta外汇是否重视基础使用感就会更清楚。从规则理解角度看,平台把复杂事项说得更直白,整体感受也更平和。这些细节拼在一起,才构成Moneta外汇比较自…

作者头像 李华