1.1 编译和链接
1.2 进程虚拟内存空间
程序经过预处理、编译和链接,最终生成可执行文件。可执行文件被操作系统加载到内存,程序才得以运行。运行的程序我们称之为进程 (process)。每个进程都有自己 的虚拟内存空间,如下所示
课后作业
简答题
1.从源代码生成可执行程序包含哪几个步骤,请用自己的话描述每个步骤的作用。
从源代码到可执行程序的步骤包括:
预处理:处理以#开头的预处理指令,如包含头文件(#include)和宏定义(#define)。还会忽略注释
编译:将源代码转换为汇编语言。
汇编:将汇编语言转换为机器代码,生成目标文件(如.o、.obj)。
链接:将所有目标文件和必要的库文件合并,生成可执行文件。
2.预处理阶段会执行预处理指令,我们讲过哪几种预处理指令?
已经讲过的预处理指令包括#include和#define。#include用于包含头文件,#define用于定义宏。
3.什么是进程?进程的虚拟内存空间包含哪几部分?
进程是一个程序的运行实例,具有独立的内存空间。进程是系统进行资源分配和调度的基本单位
。进程的虚拟内存空间包括内核、栈、堆、数据段、代码段。