news 2026/5/9 2:42:15

[从零构建操作系统]10 链接脚本语法简介(一直更新)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[从零构建操作系统]10 链接脚本语法简介(一直更新)

1. 基本的架构:由section关键字将各个程序段囊括起来

SECTION{ .text:{ *(.text) //这里指的是将所有文件的.data字段放在一起 } .rodata{ *(.rodata) } .data{ *(.data) } .bss{ *(.bss) } }

2. PROVIDE(s_data = .);

使用PROVIDE关键字可以使得变量在其它c代码中被引用,从而获取当前位置(.)的地址3.

3. 在程序段后面加地址可以直接指定程序段加载的虚拟地址,AT关键字可以指定加载的物理地址

.data 0x2000: AT(0){ }

4. 单独指定一部分代码自定义链接

.first_task : AT(e_data){ *first_task_entry*(.text .rodata .bss .data) *first_task*(.text .rodata .bss .data) } //使用*xxx* 会告诉编译器搜索文件xxx //*first_task_entry*(.text .rodata .bss .data) 指定将该文件的各个程序段放在一起

5. 注意在链接脚本中直接声明的地址都默认是虚拟地址,如果没有明确指定物理地址,则认为物理地址与虚拟地址一致

6. 取加载地址

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

基于SMO的三相PMSM无速度传感器控制(采用反正切函数法)

基于SMO的三相PMSM无速度传感器控制(基于反正切函数)滑模观测器(SMO)在三相永磁同步电机(PMSM)控制中的应用,就像给电机装了一个"隐形的眼睛"。传统传感器体积大、成本高,…

作者头像 李华
网站建设 2026/5/4 17:32:41

YOLO11一键部署推荐:免配置环境快速启动方案

YOLO11一键部署推荐:免配置环境快速启动方案 YOLO11 是目标检测领域最新一代的高效算法,延续了YOLO系列“又快又准”的核心优势。相比前代版本,它在模型结构、推理速度和小目标检测能力上都有显著提升,适用于工业质检、智能安防、…

作者头像 李华
网站建设 2026/4/19 20:14:26

如何高效查找国外的文献:实用方法与技巧指南

刚开始做科研的时候,我一直以为: 文献检索就是在知网、Google Scholar 里反复换关键词。 直到后来才意识到,真正消耗精力的不是“搜不到”,而是—— 你根本不知道最近这个领域发生了什么。 生成式 AI 出现之后,学术检…

作者头像 李华
网站建设 2026/5/8 18:41:32

Quill富文本编辑器HTML导出功能存在XSS漏洞分析

Quill 因HTML导出功能易受XSS攻击 CVE-2025-15056 GitHub Advisory Database 漏洞详情 包管理器: npm 包名称: quill 受影响版本: 2.0.3 已修补版本: 无 描述: Quill 的 HTML 导出功能中存在数据验证缺失漏洞&am…

作者头像 李华
网站建设 2026/5/8 18:41:41

FBM211 P0916JT控制器模块

BM211 P0916JT 控制器模块简介FBM211 P0916JT 是 Foxboro I/A Series 分布式控制系统中使用的模拟量输入类控制模块组合,主要用于将现场仪表的模拟信号采集并传送至系统控制层,实现稳定可靠的数据处理。模块功能说明:FBM211 为模拟量输入模块…

作者头像 李华
网站建设 2026/5/6 13:00:01

620-0041C处理器电源模块

620-0041C 处理器电源模块简介620-0041C 是 Honeywell 控制系统中的工业级处理器电源模块,主要用于为主 CPU 和相关 I/O 模块提供稳定的直流电源,是系统正常运行的基础保障。模块功能与特点:为控制器主 CPU 及 I/O 模块提供稳定直流电源将交流…

作者头像 李华