全局变量定义
来源:互联网 发布:淘宝购物车流量来源 编辑:程序博客网 时间:2024/06/11 21:55
编译器编译源文件时会把源文件的全局符号(global symbol)分成强(strong)和弱(weak)两类传给汇编器,而随后汇编器则将强弱信息编码并保存在目标文件的符号表中。那么何谓强弱呢?编译器认为函数与初始化了的全局变量都是强符号,而未初始化的全局变量则成了弱符号。比如有这么个源文件:
extern int errorno;
int buf[2] = {1,2};
int *p;
int main()
{
return 0;
}
其中main、buf是强符号,p是弱符号,而errorno则非强非弱,因为它只是个外部变量的使用声明。
有了强弱符号的概念,链接器(Unix平台)就会按如下规则(参考[1],p549~p550)处理与选择被多次定义的全局符号:
规则1: 不允许强符号被多次定义(即不同的目标文件中不能有同名的强符号);
规则2: 如果一个符号在某个目标文件中是强符号,在其它文件中都是弱符号,那么选择强符号;
规则3: 如果一个符号在所有目标文件中都是弱符号,那么选择其中任意一个;
- 定义全局变量
- 定义全局变量
- 全局变量定义
- 定义全局变量
- 全局变量定义
- 定义全局变量
- 定义全局变量
- 定义全局变量
- 全局变量的定义
- 全局变量的定义
- 如何定义全局变量
- 定义和使用全局变量
- 全局变量定义问题
- VC中定义全局变量
- android 如何定义全局变量
- VC中定义全局变量
- 如何定义全局变量
- 全局变量如何定义
- 123
- C语言宏定义:define(fmt,arg...)和define(fmt,arg, ...)的区别。
- .NET中的加密类(对称加密)
- 集群的负载均衡技术
- 本机端口扫描与关闭
- 全局变量定义
- 关于BinFS,Multi-XIP,Multi-Bin的理解
- 100部可以浓缩为一句话的名著
- CListCtrl用法
- 现在怎么每个网站都搞博客, 一点创意也没有。别人卖啥,自己也跟着卖啥,不新鲜
- 【转】LINUX系统初始化过程全解
- LED显示(1):无操作系统LED显示
- GDI中的坐标映射问题
- ifeng.com 的文字滚动类