GNU链接器(LD):REGION_ALIAS函数(为存储区域取别名)用法及实例解析

ops/2024/9/25 7:03:22/

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)链接器脚本中REGION_ALIAS函数(为存储区域别名)用法及实例解析。

LDREGION_ALIAS_18">2 GNU链接器LD):REGION_ALIAS函数(为存储区域别名)用法及实例解析

REGION_ALIAS_19">2.1 REGION_ALIAS函数用法

我们可以为使用MEMORY命令创建的存储区域添加一个别名,且每个别名对应一个存储区域。语法如下:

REGION_ALIAS(alias, region)

说明:
alias:别名
region:存储区域名称

REGION_ALIAS_28">2.2 REGION_ALIAS函数实例解析

REGION_ALIAS("RAM", SYSRAM_BASE);

为SYSRAM_BASE存储区域别名为RAM。后续使用该存储区域可直接使用别名替代存储区域名称,如下:

.ARM.extab :{. = ALIGN(4);*(.ARM.extab* .gnu.linkonce.armextab.*). = ALIGN(4);} >RAM

使用别名还可让存储区域的分配看起来更加清晰,如下是一个实例,将.text段、.data段、.bss段放在了同一个存储区域,但看起来结构更加清晰:

MEMORY
{RAM : ORIGIN = 0, LENGTH = 4M
}
REGION_ALIAS("REGION_TEXT", RAM);
REGION_ALIAS("REGION_RODATA", RAM);
REGION_ALIAS("REGION_DATA", RAM);
REGION_ALIAS("REGION_BSS", RAM);

http://www.ppmy.cn/ops/115672.html

相关文章

CS创世8GB SD NAND的低功耗特性

在电子设备不断追求低功耗的今天,CS创世半导体的8GB SD NAND芯片以其低功耗特性脱颖而出。这款芯片的读写电流仅为15mA,相较于同类产品,其功耗显著降低,这不仅延长了设备的使用时间,还减少了对电池的依赖。这种低功耗特…

oracle avg、count、max、min、sum、having、any、all、nvl的用法

组函数 having的使用 any的使用 all的使用 nvl 从执行结果来看,nvl(列名,默认值),nvl的作用就是如果列名所在的这一行出现空则用默认值替换

阿里云函数计算 x NVIDIA 加速企业 AI 应用落地

作者:付宇轩 前言 阿里云函数计算(Function Compute, FC)是一种无服务器(Serverless)计算服务,允许用户在无需管理底层基础设施的情况下,直接运行代码。与传统的计算架构相比,函数…

前缀和问题

洛谷题面 这个其实可以当模板了。 代码&#xff1a; #include<bits/stdc.h> using namespace std; const int N1e510; int sum[N]; int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n,m,x;cin>>n;for(int i1;i<n;i){cin>>x;sum[i]sum[i…

Elasticsearch、ik分词器、elasticsearch-head、Kibana的认识与安装

文章目录 elasticsearch安装elasticsearchIK中文分词器elasticsearch-headkibana elasticsearch Elasticsearch是一个基于Lucene的搜索服务器&#xff0c;也是属于NoSQL阵营的数据库。它提供了一个分布式多用户能力的全文搜索引擎&#xff0c;基于RESTful web接口提供给我们操…

Linux便捷查询使用手册 第一章:引言

目录 1.1 什么是Linux&#xff1f; 1.1.1 Linux内核与其他Unix-like系统内核的比较 1.1.2 Linux内核与其他操作系统内核的不同 1.1.3 Linux内核的主要功能和组件 1.2 Linux的历史与发展 1.2.1 重要里程碑事件 1.2.2 重要Linux版本发布 1.3 Linux的发行版概述 1.3.1 主…

Windows系统IP地址设置

目录 Windows系统IP地址设置一、背景二、设置步骤1、打开网络连接设置1) 在搜索栏输入“控制面板”&#xff0c;打开控制面板2) 选择“网络和Internet”&#xff0c;进入“网络和共享中心”。3) 进入网络连接设置 2、修改IP地址1) 选中你要修改的网卡&#xff0c;右键点击选择“…

2024蓝桥杯省B好题分析

题解来自洛谷&#xff0c;作为学习 目录 宝石组合 数字接龙 爬山 拔河 宝石组合 # [蓝桥杯 2024 省 B] 宝石组合## 题目描述在一个神秘的森林里&#xff0c;住着一个小精灵名叫小蓝。有一天&#xff0c;他偶然发现了一个隐藏在树洞里的宝藏&#xff0c;里面装满了闪烁着美…