Loading

程序的链接和装入

程序的链接和装入

img

img

img

思考这样一个问题,逻辑地址是在链接时形成的还是在装入时形成的。应该是在链接时就已经形成了逻辑地址,后面的装入确定了物理地址

静态重定位是在程序运行之前由装配程序完成的,必须分配其要求的全部连续内存空间,对于采用了页式存储的系统,无法使用静态重定位

C语言编译的过程

C语言编译分为预处理、编译、汇编和链接四个过程

预处理

预处理用于将所有的#include头文件以及宏定义替换为其真正的内容,预处理得到的仍然是文本文件

编译

这里的编译指的不是程序从源文件到二进制程序的全部过程,而是经过预处理之后的程序转换为特定汇编代码的过程

汇编

汇编过程将上一步的汇编代码转化为机器码,这一步产生的文件叫做目标文件,是二进制格式

链接

链接将多个目标文件以及所需要的库文件链接成最终的可执行文件。

参考文献

C语言编译过程详解

posted @ 2024-08-02 21:42  AH20  阅读(7)  评论(0编辑  收藏  举报