嵌入式技术论坛
直播中

Mr_RMS

7年用户 327经验值
擅长:可编程逻辑 嵌入式技术 处理器/DSP 接口/总线/驱动 控制/MCU
私信 关注
[经验]

ARM汇编.global和.extern(转载)

在ARM汇编中,常搞不清.global和.extern的区别,下面就简要阐述一下这两个的区别。
1>.global
.global关键字用来让一个符号对链接器可见,可以供其他链接对象模块使用。
.global _start 让_start符号成为可见的标示符,这样链接器就知道跳转到程序中的什么地方并开始执行。linux寻找这个 _start标签作为程序的默认进入点。
在汇编和C混合编程中,在GNU ARM编译环境下,汇编程序中要使用.global伪操作声明汇编程序为全局的函数,意即可被外部函数调用,同时C程序中要使用extern声明要调用的汇编语言程序。

2>.extern
.extern XXXX 说明xxxx为外部函数,调用的时候可以遍访所有文件找到该函数并且使用它。

http://blog.csdn.net/u014250462/article/details/78169654

回帖(2)

王栋春

2018-1-26 20:03:29
学习了解一下
举报

lee_st

2018-1-27 00:40:55
了解一下
举报

更多回帖

发帖
×
20
完善资料,
赚取积分