admin 管理员组

文章数量: 1184232

一、什么是符号?

每个可重定位目标模块m都有一个符号表,它包含m定义和应用的符号的消息。那么什么是符号呢?

简单来讲,符号氛围三种:

1、全局符号:没有用static修饰的函数和全局变量

2、局部符号:用了static修饰的函数和全局变量

3、外部符号:在模块A中定义,并被模块B引用的全局符号

二、符号定义和符号引用

以这两个程序为例,辨别哪些是符号的定义,哪些是符号的引用。

三、符号与符号表

符号表存放着程序中所有符号的信息,我们以swap程序为例,查看符号表中的信息

Type代表种类,FUNC函数,OBJECT对象,也有NOTYPE对应未定义类型

Ndx:COM代表未初始化的数据(.bss),UND表示未定义,1则是放入.text节,详细请看可重定位文件格式。

·Value代表在节中的偏移量

接着以上

本文标签: 修饰的函 系统 编程