《CSAPP》网课总结(二):编译原理基础有哪些要点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1747个文字,预计阅读时间需要7分钟。
这部分是四月份的安排,推迟到五一放假了,主要是对源码编译过程的一次总结。总的来说,大致可分为预编译、编译、汇编和链接四部分。这里简单记录一下:+ 一、概述+ 1. 预处理
这部分是四月份的安排,拖到五一放假了,主要是对源码编译过程的一次总结,总的来说,大致可分为预编译、编译、汇编和链接四部分。这里简单记录一下:
一 概述- 1、预处理
或者说是预编译,指的是在编译前需要做的一些处理,如宏替换、include替换等等,这部分没什么东西
每一个.c或.cpp源代码文件会生成一个对应的.i文件; - 2、编译
编译过程将预处理后的文件生成为.s的汇编文件,汇编文件可用文本编辑器打开查看,里面的汇编代码是直接对应CPU动作的; - 3、汇编
汇编过程将.s汇编文件映射为可重定位目标文件, 一般为.o或.obj扩展名。 - 4、链接
链接阶段是通过链接器将不同的.o文件进行打包,可以理解为单纯的拼接操作,但操作的时候会检查各个实现是否存在。此外,链接可执行文件时还会导入c或cpp的启动相关的必要系统文件,如cruntime等
-
在shell中启动可执行文件后,shell会调用操作系统的加载器将可执行文件读入内存,然后将cpu的控制权交给可执行文件,然后开始执行。
本文共计1747个文字,预计阅读时间需要7分钟。
这部分是四月份的安排,推迟到五一放假了,主要是对源码编译过程的一次总结。总的来说,大致可分为预编译、编译、汇编和链接四部分。这里简单记录一下:+ 一、概述+ 1. 预处理
这部分是四月份的安排,拖到五一放假了,主要是对源码编译过程的一次总结,总的来说,大致可分为预编译、编译、汇编和链接四部分。这里简单记录一下:
一 概述- 1、预处理
或者说是预编译,指的是在编译前需要做的一些处理,如宏替换、include替换等等,这部分没什么东西
每一个.c或.cpp源代码文件会生成一个对应的.i文件; - 2、编译
编译过程将预处理后的文件生成为.s的汇编文件,汇编文件可用文本编辑器打开查看,里面的汇编代码是直接对应CPU动作的; - 3、汇编
汇编过程将.s汇编文件映射为可重定位目标文件, 一般为.o或.obj扩展名。 - 4、链接
链接阶段是通过链接器将不同的.o文件进行打包,可以理解为单纯的拼接操作,但操作的时候会检查各个实现是否存在。此外,链接可执行文件时还会导入c或cpp的启动相关的必要系统文件,如cruntime等
-
在shell中启动可执行文件后,shell会调用操作系统的加载器将可执行文件读入内存,然后将cpu的控制权交给可执行文件,然后开始执行。

