编译系统组成及程序执行过程
2017-09-12 22:29
288 查看
一个高级的C语言程序,要能在机器上执行必须要转换为能够被机器读懂的低级机器语言指令。然后这些指令按照一种成为可执行目标程序的格式打包好,并以二进制磁盘文件形式存放起来,目标程序也成为可执行目标文件。
把一个源程序文件翻译成一个可执行目标文件需要经过一个翻译过程,这个翻译过程分为四个阶段,分别是预处理器、编译器、汇编器、链接器。
1预处理器(cpp),将程序投#include的内容读取插入到程序中,通常以.i作为拓展名
2编译器(ccl),将被修改的源程序翻译为汇编程序,以.s为拓展名
3汇编器(as)将汇编程序翻译成机器能够读懂的机器语言指令,并把这些指令打包成可重定位目标程序,为二进制文件,以.o为拓展名
4链接器(ld),将标准c库中的一些被用到的.o文件链接到主文件,生成一个可执行目标文件
把一个源程序文件翻译成一个可执行目标文件需要经过一个翻译过程,这个翻译过程分为四个阶段,分别是预处理器、编译器、汇编器、链接器。
1预处理器(cpp),将程序投#include的内容读取插入到程序中,通常以.i作为拓展名
2编译器(ccl),将被修改的源程序翻译为汇编程序,以.s为拓展名
3汇编器(as)将汇编程序翻译成机器能够读懂的机器语言指令,并把这些指令打包成可重定位目标程序,为二进制文件,以.o为拓展名
4链接器(ld),将标准c库中的一些被用到的.o文件链接到主文件,生成一个可执行目标文件
相关文章推荐
- Windows系统下用命令行编译C/C++程序过程总结
- 程序的编译与执行过程
- C/C++程序从编译到最终生成可执行文件的过程分析
- C编程笔录(一)1.2: C编程的源文件到可执行程序文件的编译过程
- C程序编译执行过程
- 可执行程序调用dll过程的反编译
- 用gcc编译成可执行程序细节过程
- C/C++程序从编译到最终生成可执行文件的过程分析
- C程序编译执行过程
- Android系统Recovery工作原理之使用update.zip升级过程分析(八)---升级程序update_binary的执行过程
- C程序编译执行过程
- C程序编译执行过程
- linux文件系统初始化过程(6)---执行init程序
- C/C++程序从编译到最终生成可执行文件的过程分析
- Android系统Recovery工作原理之使用update.zip升级过程分析(八)---升级程序update_binary的执行过程
- 简单汇编程序编译链接执行过程
- 菜鸟C++精髓学习笔记--C++程序内部执行过程(预处理、编译、链接过程的作用)
- Android系统Recovery工作原理之使用update.zip升级过程分析(八)---升级程序update_binary的执行过程
- Windows系统下用命令行编译C/C++程序过程总结
- Windows系统下用命令行编译C/C++程序过程总结