c语言链接器的作用,ARM arm-ld链接器的作用

本文详细介绍了ARM环境下arm-ld链接器的工作原理,包括符号解析和重定位两个关键步骤。通过实例解释了如何处理多文件工程中的标签引用,以及链接器如何合并和放置不同段,确保程序正确执行。
摘要由CSDN通过智能技术生成

ARM arm-ld链接器的作用

[复制链接]

如果用过arm交叉编译器,一定看过

arm-ld, arm-as, arm-gcc, arm-nm等一系列工具,它们的用途是干什么的呢?

(1)arm-as 用于将 xxx.s 汇编文件编译为 xxx.o 文件

eg : arm-as -o add.o  add.s复制代码

(2)在写多文件工程的时候,每个汇编文件被 arm-as工具单独编译为.o文件,c文件用arm-gcc编译

而arm-ld则将所有的xxx.o 文件链接为二进制执行文件,因此称为链接器

有三种可执行文件:一种是.elf,一种是.bin,.hex是一种特殊的可执行文件

a26d678767e8b431ecd7a25f1936bdc5.gif

linker.png (12.98 KB, 下载次数: 0)

2016-6-6 19:28 上传

链接器有两个作用:

1.符号解析(Symbol Resolution)

2.重定向(Relocating)

下面以汇编文件为例来讲解:

汇编语句的语法如下:

label:    instruction         @ comment复制代码

label 为标签, @ 后面是注释语句

instruction是执行的指令

一个简单的加法的例子如下:

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值