news 2026/7/9 11:10:01

[从零构建操作系统]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/7/7 16:24:09

交通多源异构数据融合的行业通识高质量数据集构建,核心是围绕“人 - 车 - 路 - 环”全要素

交通多源异构数据融合的行业通识高质量数据集构建,核心是围绕“人 - 车 - 路 - 环”全要素,以标准化采集、系统化治理、精准化融合、全流程质控与场景化适配为路径,打造覆盖数据全生命周期的高质量数据集,支撑交通大模型训练、智能…

作者头像 李华
网站建设 2026/7/3 9:57:23

企业级密钥管理策略(Dify环境变量备份全攻略)

第一章:企业级密钥管理的核心挑战 在现代分布式系统和云原生架构中,密钥作为保障数据安全的核心要素,其管理复杂度随着系统规模的扩大呈指数级增长。企业不仅需要确保密钥在整个生命周期内的安全性,还需满足合规性要求、实现跨平台…

作者头像 李华
网站建设 2026/7/3 23:01:43

自建微习惯管理工具:mhabit 开源追踪应用服务器搭建实战

如果你尝试过培养习惯,大概率会有这样的经历: 📅 一开始动力满满,坚持几天就断了 😵 目标定得太大,很难长期执行 📱 装了好几个习惯 App,最后还是放弃 🔒 数据都在第三方平台,换 App 成本很高 🧠 真正想要的,其实只是“每天做一点点” 后来我开始接触 mhabi…

作者头像 李华
网站建设 2026/6/26 13:35:32

揭秘Claude Desktop无法识别MCP Server路径:3步快速定位配置陷阱

第一章:Claude Desktop 无法识别自定义 mcp server 路径 当用户尝试在 Claude Desktop 中集成本地开发的 MCP(Model Control Protocol)server 时,常见现象是应用启动后未建立连接,且日志中提示 failed to resolve mcp …

作者头像 李华