文本文件与二进制文件

  二进制文件即全为0和1的文件,文本文件即不全为0和1的文件。常见的二进制文件: .exe文件、.o文件;常见的文本文件:.c文件、.i文件、.s文件
  实际上,上述常见的文本文件和二进制文件都来自于同一个系统:编译系统。在这个系统中,hello.c度过了他的一生。

编译系统

预处理器(cpp)编译器(ccl)汇编器(as)链接器(ld) 一起构成了编译系统,系统示意图如下:
01

  1. 预处理阶段:预处理器(cpp)根据以字符#开头的命令,修改原始的C程序,生成hello.i文件
  2. 编译阶段:编译器(ccl)将文本文件hello.i翻译成hello.s,hello.s是汇编程序
  3. 汇编阶段:接下来,汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成一种叫做可重定位目标程序(relocatable object program)的格式,并将结果保存为目标文件hello.i
  4. 链接阶段:得到一个可执行目标文件,可以被加载到内从中,由系统执行

层次结构划分

硬件组成

软硬件抽象

Amdah1定律:加速n倍真的就是加速n倍吗?

wwwwwwwwwwwww

sssssssss
daaaaaaaaaaaaaaaa^1

Generating

Fig1
fig1

Fig2

Item Value Qty