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为外部函数,调用的时候可以遍访所有文件找到该函数并且使用它。




版权声明:本文为u014250462原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。