您的位置:首页 > 理论基础

深入理解计算机系统学习(一)第一章

2010-12-27 16:19 549 查看
今天买的深入理解计算机系统到了,开始了新的学习。深入理解书中的概念将很大程度提高编写高效程序的能力。

 

源文件编译为可执行文件的过程:

经过了四个步骤:预处理阶段、编译阶段、汇编阶段、链接阶段。

1 .首先编写的源程序被以二进制编码形式存放在磁盘中,预编译器完成的功能是完成包含命令#include<>和预处理命令#ifdef,根据这些命令将程序做修改,如#include <stdio.h>会将stdio.h原封不动的放在#include <stdio.h>处,宏定义也在这个过程被替换,如#define MAX 256 ,会将源程序中所有出现MAX的地方换成256。此时经过预编译的文件为XXX.i文件。

2. 编译阶段:

这个阶段会将XXX.i文件经编译器处理生成XXX.s的汇编文件,生成的文件为底层的汇编语言,生成文件为:XXX.s。

3. 汇编阶段

这个阶段将汇编文件经汇编器处理生成.o文件,这种文件成为可重定位目标文件,它是一个二进制文件,但是它的字节编码是机器语言指令而不是字符。

4.链接阶段

比如程序中使用了frintf库函数,这个函数存在于一个名为printf.o的单独的预编译目标文件中,而这个文件必须以某种方式并入到程序中才可以执行,连接器就处理这种并入。经过链接阶段最终生成可执行文件。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息