admin 管理员组

文章数量: 1184232

  • 什么是符号
  • 什么是符号的定义,什么是符号的引用
  • 链接符号的类型有哪些,各自有什么特点
  • 符号表是什么
  • 链接器对符号的解析规则、过程

一、

1、 什么是符号?

符号:就是其实程序中的 变量名 函数名

2、什么是符号的定义,什么是符号的引用?

符号的定义:就是程序中变量名、函数名的 定义 (位于定义位置的 变量名、函数名);

符号的引用:就是程序中变量名、函数名的 引用 (不在定义位置的 变量名、函数名);

3、 链接 符号的类型 有哪些,各自有什么特点?

每个 可重定位目标模块m 都有一个符号表 ,它包含了在m中定义和引用的符号,有 3种 链接器符号:

类型 特征 举例
Global symbols
(模块 内部 定义的 全局符号
由模块 m定义 并能被其他模块引用的符号。
例如,非static C函数和非 static的C全局变量(指 不带static 的函数\全局变量)
如,main.c 中的全局变量名buf
External symbols
外部 定义的 全局符号
其他模块定义 被模块m引用 的全局符号 如,main.c 中的函数名swap
Local symbols
本模块 局部符号
仅由 模块 m定义和引用 的本地符号。
例如,在模块m中定义的带 static 的(C函数和全局变量)
如,swap.c 中的static变量名bufp1

注意:1. 局部变量 temp分配

本文标签: 什么是符 变量名 编程