一、 C 程序的编译过程
相关概念
- 文本文件:只包含 ASCII 字符
- 二进制文件: 除文本文件外其他文件
二、计算机系统硬件组成
- CPU :中央处理器
- 主存: 存储数据和指令
- IO 设备:鼠标、键盘、显示器、磁盘控制器等
- 总线:数据通道
计算机内部结构拓补图
系统内部结构如下图所示, hello.c
程序如何执行呢?一个简单的描述如下,编写好的 hello.c
文本文件被存储在磁盘上,经过编译后形成的 a.out
文件也存储在磁盘上,在 shell
中敲入 ./a.out
时, ./a.out
首先被存入寄存器中,当敲入回车时,寄存器中的 a.out
被送入主存, 主存开始加载 a.out
程序和数据,加载完成后,CPU 执行程序时,从主存获取程序指令和数据,并将相应的输出送到显示器进行显示。
由上可见,程序执行过程中,大量时间花费在访存上,即将程序数据和指令从一个地方复制到另一个地方,与 CPU 执行指令速度相