当前位置:   article > 正文

深入理解计算机系统(CSAPP) 第一章学习笔记_编译系统linker pre-processor

编译系统linker pre-processor


1.编译过程

编译系统(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(已经单独预编译了的目标文件)中,链接器将其合并后得到可执行文件


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/160728
推荐阅读
相关标签
  

闽ICP备14008679号