赞
踩
编译系统(compilation system):预处理器(pre-processor)、编译器(compiler)、汇编器(assembler)、链接器(linker)
预处理阶段:处理字符#
开头的命令,即:1)将头文件的内容插入程序文本中。2)宏定义替换。3)条件编译(#if
#ifdef
),不被编译的部分变为空行。4)删除注释
编译阶段:通过编译器将源程序翻译成汇编程序(assembly-language program)
汇编阶段:将汇编程序翻译成机器语言指令,并将其打包成可重定位目标程序(relocatable object program)
链接阶段:链接器将各个.o文件合并成可执行文件。链接器使得分离编译成为可能。在编写大型程序时,可将模块分小,由此达到独立修改和编译不同模块的目的:未被修改的模块不用重新编译,而只需将修改后的模块编译,重新链接即可。e.g. hello.c中的printf函数存在printf.o(已经单独预编译了的目标文件)中,链接器将其合并后得到可执行文件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。