为什么 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 到底占了多少空间做一个简单的对比实验。

相关新闻

Deepin Boot Maker:打造专业级Linux启动盘的最佳选择

Deepin Boot Maker:打造专业级Linux启动盘的最佳选择

Deepin Boot Maker:打造专业级Linux启动盘的最佳选择 【免费下载链接】deepin-boot-maker 项目地址: https://gitcode.com/gh_mirrors/de/deepin-boot-maker Deepin Boot Maker是一款专为Linux用户设计的启动盘制作工具,能够帮助你快速、安全地将…

2026/7/24 22:55:07 阅读更多 →
天天评选平台使用指南:四种投票类型选择说明

天天评选平台使用指南:四种投票类型选择说明

该平台提供图片、视频、音频、混合四类投票模式,可根据参评作品展示形式对应选择,本文结合适用场景区分四类模式,并附上完整搭建步骤、功能清单与常见问题。 一、四类投票模式适用场景与特点 1. 图片投票 适用场景:班级评优、人…

2026/7/24 22:55:07 阅读更多 →
Veeam备份虚拟机报错Unable to allocate RAM for VM snapshot完整解决方案

Veeam备份虚拟机报错Unable to allocate RAM for VM snapshot完整解决方案

Veeam执行虚拟机备份时抛出Unable to allocate RAM for VM snapshot报错,核心根源是ESXi宿主机可用物理内存不足;Veeam备份依赖VMware快照捕获虚拟机内存状态,创建内存快照时ESXi需要预留出与虚拟机已分配内存容量完全对等的空闲RAM资源&…

2026/7/24 22:54:07 阅读更多 →

最新新闻

如何在5分钟内为MusicBee配置网易云音乐歌词插件:终极歌词同步解决方案

如何在5分钟内为MusicBee配置网易云音乐歌词插件:终极歌词同步解决方案

如何在5分钟内为MusicBee配置网易云音乐歌词插件:终极歌词同步解决方案 【免费下载链接】MusicBee-NeteaseLyrics A plugin to retrieve lyrics from Netease Cloud Music for MusicBee. 项目地址: https://gitcode.com/gh_mirrors/mu/MusicBee-NeteaseLyrics …

2026/7/24 23:03:10 阅读更多 →
06_【正点原子】DNESP32S3开发板使用TFT_eSPI 库(arduino)

06_【正点原子】DNESP32S3开发板使用TFT_eSPI 库(arduino)

开发板 【正点原子】DNESP32S3开发板 本文将通过一个完整的 TFT 液晶屏驱动示例&#xff0c;展示如何在该开发板上使用 TFT_eSPI 库进行屏幕初始化、硬件复位控制以及基本图形绘制。 #include <SPI.h> #include <TFT_eSPI.h> #include "xl9555.h" #inclu…

2026/7/24 23:03:10 阅读更多 →
CodeFormer打包.onnx

CodeFormer打包.onnx

D:\Work\project\test\python\model\模型\老照片修复\CodeFormer-master>python export_onnx.py Traceback (most recent call last):File "D:\Work\project\test\python\model\模型\老照片修复\CodeFormer-master\export_onnx.py", line 13, in <module>sp…

2026/7/24 23:03:10 阅读更多 →
5分钟解决Windows热键冲突:Hotkey Detective终极使用指南

5分钟解决Windows热键冲突:Hotkey Detective终极使用指南

5分钟解决Windows热键冲突&#xff1a;Hotkey Detective终极使用指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective Windo…

2026/7/24 23:03:10 阅读更多 →
FigmaCN:设计师必备的中文界面插件,3分钟实现Figma全界面汉化

FigmaCN:设计师必备的中文界面插件,3分钟实现Figma全界面汉化

FigmaCN&#xff1a;设计师必备的中文界面插件&#xff0c;3分钟实现Figma全界面汉化 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否在使用Figma时因为英文界面而感到困扰&#…

2026/7/24 23:03:10 阅读更多 →
高性能ADC评估实战:从ADS7851EVM-PDK套件解析数据采集系统设计

高性能ADC评估实战:从ADS7851EVM-PDK套件解析数据采集系统设计

1. 项目概述&#xff1a;从芯片到系统&#xff0c;一个高性能ADC的完整评估之旅在精密测量、工业自动化或者高端音频处理领域&#xff0c;工程师们常常面临一个核心挑战&#xff1a;如何将现实世界中连续变化的物理信号&#xff08;比如电机电流、传感器电压、音频波形&#xf…

2026/7/24 23:02:10 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化&#xff0c;核心特色&#xff1a;三维 X/Y/Z 三轴空间&#xff0c;所有散点分布在 0~10 立方体空间内&#xff1b;散点使用径向渐变实现立体 3D 圆球质感&#xff1b;支持鼠标 / 触屏拖拽画布&#xff0c;…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls&#xff1a;进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值&#xff0c;并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好&#xff0c;我是一名编程初学者&#xff0c;同时这也是我编程学习之路上的第一篇博客。在这里&#xff0c;我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手&#xff0c;目前在学习c语言&#xff0c;我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻