CSAPP:CH1
文本文件与二进制文件
二进制文件即全为0和1的文件,文本文件即不全为0和1的文件。常见的二进制文件: .exe文件、.o文件;常见的文本文件:.c文件、.i文件、.s文件
实际上,上述常见的文本文件和二进制文件都来自于同一个系统:编译系统。在这个系统中,hello.c度过了他的一生。
编译系统
预处理器(cpp)、编译器(ccl)、汇编器(as)、链接器(ld) 一起构成了编译系统,系统示意图如下:
- 预处理阶段:预处理器(cpp)根据以字符#开头的命令,修改原始的C程序,生成hello.i文件
- 编译阶段:编译器(ccl)将文本文件hello.i翻译成hello.s,hello.s是汇编程序
- 汇编阶段:接下来,汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成一种叫做可重定位目标程序(relocatable object program)的格式,并将结果保存为目标文件hello.i
- 链接阶段:得到一个可执行目标文件,可以被加载到内从中,由系统执行
层次结构划分
硬件组成
软硬件抽象
Amdah1定律:加速n倍真的就是加速n倍吗?
wwwwwwwwwwwww
sssssssss
daaaaaaaaaaaaaaaa^1
fig1
Item | Value | Qty |
---|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 鼠鼠的藏宝洞!