为什么需要 ENTRY 指令?如果多个入口点会怎样?
2026/7/23 5:23:37 网站建设 项目流程

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


你有没有注意过,启动文件里通常有一行这样的指令:

ENTRY

它往往孤零零地出现在最前面,没有操作数,没有修饰符,就那么一行。

很多人的反应是:“既然模板里有,那我留着就是了。”

但你有没有想过:这个 ENTRY 到底在干什么?如果我删掉它会怎样?如果我写了两个呢?

今天我们就来回答这三个问题。答案会顺势揭开链接器确定程序起始地址的完整逻辑。


一、先看现象:删掉 ENTRY 会怎样

拿一个最简单的 Keil 工程做实验。启动文件startup_xxx.s里原本有:

ENTRY AREA RESET, DATA, READONLY __Vectors DCD __initial_sp DCD Reset_Handler ; ...

ENTRY删掉,编译、链接。

程序照样能跑。复位后一切正常。

这就怪了。如果删掉都没事,那它存在的意义是什么?

答案是:<

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询