Skip to content

Commit 2edefc0

Browse files
authored
Merge pull request #664 from linehk/patch-1
docs/notes/计算机操作系统 - 链接.md: 使用更恰当的术语
2 parents 3345609 + 533d839 commit 2edefc0

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

Diff for: docs/notes/计算机操作系统 - 链接.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ gcc -o hello hello.c
3333

3434
- 预处理阶段:处理以 # 开头的预处理命令;
3535
- 编译阶段:翻译成汇编文件;
36-
- 汇编阶段:将汇编文件翻译成可重定向目标文件
37-
- 链接阶段:将可重定向目标文件和 printf.o 等单独预编译好的目标文件进行合并,得到最终的可执行目标文件。
36+
- 汇编阶段:将汇编文件翻译成可重定位目标文件
37+
- 链接阶段:将可重定位目标文件和 printf.o 等单独预编译好的目标文件进行合并,得到最终的可执行目标文件。
3838

3939
# 静态链接
4040

41-
静态链接器以一组可重定向目标文件为输入,生成一个完全链接的可执行目标文件作为输出。链接器主要完成以下两个任务:
41+
静态链接器以一组可重定位目标文件为输入,生成一个完全链接的可执行目标文件作为输出。链接器主要完成以下两个任务:
4242

4343
- 符号解析:每个符号对应于一个函数、一个全局变量或一个静态变量,符号解析的目的是将每个符号引用与一个符号定义关联起来。
4444
- 重定位:链接器通过把每个符号定义与一个内存位置关联起来,然后修改所有对这些符号的引用,使得它们指向这个内存位置。
@@ -48,8 +48,8 @@ gcc -o hello hello.c
4848
# 目标文件
4949

5050
- 可执行目标文件:可以直接在内存中执行;
51-
- 可重定向目标文件:可与其它可重定向目标文件在链接阶段合并,创建一个可执行目标文件;
52-
- 共享目标文件:这是一种特殊的可重定向目标文件,可以在运行时被动态加载进内存并链接;
51+
- 可重定位目标文件:可与其它可重定位目标文件在链接阶段合并,创建一个可执行目标文件;
52+
- 共享目标文件:这是一种特殊的可重定位目标文件,可以在运行时被动态加载进内存并链接;
5353

5454
# 动态链接
5555

0 commit comments

Comments
 (0)