深入理解计算机系统(1)

一个c语言源程序

PS: 
c语言生成一个 “xxx.c” 后缀的源文件

程序编译过程

编译过程细节:

以上是一种文本形式的汇编语言(即低级机器语言),汇编语言为不同的语言不同编译器提供了统一的输出语言。

 

编译过程:(从hello.c 源文件开始【文本格式】)
1,预处理阶段(hello.c -> hello.i  【文本格式】)
将需要的系统头中的文件内容(需要内库函数文件)插入到源文件中

2,编译阶段   (hello.i  -> hello.s【文本格式】)
将程序编译成文本格式汇编语言的文件

3,汇编阶段   (hello.s -> hello.o 【二进制格式】)
将文本格式的汇编语言编译成为可重定位目标程序的二进制格式的文件

4,链接阶段   (hello.o -> hello   【二进制格式】)
从库中将引用到的函数真正合并到程序中

 

posted @ 2018-09-10 23:26  假程序猿  阅读(119)  评论(0)    收藏  举报