码迷,mamicode.com
首页 > 其他好文 > 详细

汇编笔记

时间:2017-04-30 12:32:18      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:编译器   函数名   其他   变量定义   size   代码   global   oba   代码段   

   (1)C 语言中 extern 变量和 global 变量有什么区别

  extern只是表示这个变量定义在其他编译单元(通常是不同的源文件)而定义在全局作用域内部的变量,成为全局变量。
换言之,global变量不一定有extern修饰而有extern修饰的必然是global变量。

(2)
.text .global 这是什么意思?
.text
.global _start
_start:

.text .global 是arm-gcc编译器的关键词。
.text 指定了后续编译出来的内容放在代码段【可执行】;

.global 告诉编译器后续跟的是一个全局可见的名字【可能是变量,也可以是函数名】;

在本例中,_start是一个函数的起始地址,也是编译、链接后程序的起始地址。由于程序是通过加载器来加载的,必须要找到 _start名字的函数,因此_start必须定义成全局的,以便存在于编译后的全局符合表中,供其它程序【如加载器】寻找到。
 

 

汇编笔记

标签:编译器   函数名   其他   变量定义   size   代码   global   oba   代码段   

原文地址:http://www.cnblogs.com/AcmenLiang/p/6789082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!