当前位置: 首页 > article >正文

GNU链接器(LD):ORIGIN、LENGTH函数的用法及实例解析

0 参考资料

GNU-LD-v2.30-中文手册.pdf
GNU linker.pdf

1 前言

一个完整的编译工具链应该包含以下4个部分:
(1)编译器
(2)汇编器
(3)链接器
(4)lib库
在GNU工具链中,对应的是:
(1)编译器:GCC(GNU Compiler Collection,GNU编译器套件)
(2)汇编器:GAS(GNU Assembler,GNU汇编器)
(3)链接器:LD(GNU Linker,GNU链接器)
(4)lib库:glibc(GNU C Library,GNU C 库)
本文介绍GNU链接器(LD)链接器脚本中ORIGIN、LENGTH函数的用法及实例解析。

2 GNU链接器(LD):ORIGIN、LENGTH函数的用法及实例解析

2.1 ORIGIN、LENGTH函数的用法

ORIGIN(memory)函数可以访问存储区域的首地址,memory是存储区域名。
LENGTH(memory)函数可以访问存储区域的大小,memory是存储区域名。

2.2 ORIGIN、LENGTH实例解析

__MEM_START__ = ORIGIN(RAM) + START_OFFSET;
__MEM_SIZE__  = LENGTH(RAM) - START_OFFSET;
__MEM_START2__ = ORIGIN(SRAM1);
__MEM_SIZE2__ = LENGTH(SRAM1);

通过ORIGIN和LENGTH函数来修改内存起始地址和内存大小符号的值。


http://www.kler.cn/a/354310.html

相关文章:

  • 【YOLOv8杂草作物目标检测】
  • 图像处理 | 图像二值化
  • H2数据库在单元测试中的应用
  • dbeaver创建create临时表之后查询不到问题排查
  • 51单片机——串口通信(重点)
  • 【可实战】Bug的判定标准、分类、优先级、定位方法、提交Bug(包含常见面试题)
  • 【实训01】基于视图的访问控制 【实训02】基于角色的访问控制
  • Flythings学习(三)界面交互
  • 【工具变量】上市公司企业广告支出数据(2007-2023年)
  • centors7安装docker启动ubuntu
  • ubuntu 20.04 安装ros1
  • Axure重要元件三——中继器
  • Springboot使用腾讯云短信SDK发送短信
  • JVM 实战篇(一万字)
  • QT--组合框 QComboBox ,微调框 QSpinBox,滑动条 QSlider, 进度条 QProgressBar
  • 结构体通讲——数据结构解惑
  • 在线考试系统的现代化解决方案:Spring Boot与JavaWeb
  • 【系统集成中级】OSI 七层模型
  • web前端面试中拍摄的真实vue面试题
  • 考研论坛设计小程序ssm+论文源码调试讲解
  • 设计一个支持自动化测试执行的测试框架
  • 盘古信息:智能仓储管理赋能企业降本增效
  • 【前端】Matter:交互与碰撞
  • 关于武汉芯景科技有限公司的限流开关芯片XJ6288开发指南(兼容SY6288)
  • C++ 函数的参数传递
  • MAC 电脑Office power point编辑的时候,显示“某些字体无法随演示文稿一起保存,仍然要保存演示文稿吗?”