目录
1、冯诺依曼将计算机分为了五个部分:
运算器 控制器 存储器 输入设备 输出设备
Cpu 内存
2、数据总线分为三类
数据总线 地址总线 控制总线
总线是用来传输数据的
3、指令的集合叫做指令系统
4、程序编译:
四步:
Main.i main.s main.o main.c
预编译 编译 汇编 链接
在计算机上能直接执行的是二进制指令,我们进行编写的是高级语言,经过几步执行为可以在计算机执行的语言
5、预编译
gcc -E main.c -o main.i
最后生成的文件是main.i
- 将宏定义展开,删除
- 处理#include指令
- 处理所有的条件预编译指令
- 删除所有的注释
6、编译
gcc -s main.i -o main.s
编译对象是处理完的.i文件
编译过程可分为6步:
扫描(词法分析)、语法分析、语义分析、源代码优化、代码生成、目标代码优化。
依旧不能执行
7、汇编
gcc -c main.s -o main.o
将编译完的文件转换为二进制文件(机器语言指令)
检查语法问题生成到这一步
8、链接
一个组合的过程,物理过程,将需要用的执行代码和库程序链接过来
多文件编译要把所有的都编译为.c文件
9、-o
-o后面紧跟的肯定是生成的东西,除了生成程序之外,其他的文件顺序无所谓,但是不能少 空格隔开