程序开发过程:
编辑------>编译------->连接--------->执行
.cpp .obj .exe
源程序 目标程序 可执行程序
程序编译的过程:
翻译程序
总体过程: 源程序------------> 目标程序
翻译程序有:汇编程序,编译程序,解释程序.
汇编程序是将汇编语言写成的源程序翻译成机器语言形式的目标程序(二进制文件)
编译程序是将用高级语言写成的源程序翻译成机器语言形式的目标程序。
解释程序同样是将高级语言源程序翻译成机器指令,与编译程序的不同是,边翻译编执行,即输入一句,翻译一句,执行一句,直至整个源程序翻译并执行完毕。
值得注意的是,解释程序不产生整个目标程序,对于源程序中要重复执行的语句(如循环体)需要重复的解释解释执行,因此脚趾编译程序,其效率较低。
C语言编译全过程
编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)