C语言学习—程序在计算机中的存储运行理解
要知道程序在二进制中是怎么样存储运行的,我们就必须的把下面这句话牢牢记在心里:无论是程序还是文件,一切一切,都是以二进制存放在计算机中的!二进制文件就是由只有1和0组成的文件。
原因:C语言、C++语言、Java…都是我们语法,计算机是不认识我们在键盘上敲进去的代码的。代码需要我们经过编译->汇编,形成二进制文件才会被计算机识别,因为计算机只能认识1和0.有了这个概念之后,我们就可以对文件(程序也是文件的一种)在计算机的运行存储进行进一步的了解了。
首先,我们先了解几个名称:
输入设备、输出设备、存储器、内存、CPU。
输入设备:键盘、可触摸屏幕等
输出设备:屏幕、播放器等
存储器:硬盘和外存
硬盘:我们电脑配备的磁盘,例如C盘、D盘等
外存:我们的U盘、手机等外接且可以存储数据的东西
内存:计算机的内部存储器
CPU:
寄存器:是CPU处理数时存储数据以及结果的地方,有64位和32位。我们的编译器
用到几位就是几位的编译器。
运算器:对数据进行运算的地方。运算极快
以下是程序运行的过程:
- 我们先通过输入设备敲代码
- 编译器对代码进行编译->汇编,形成二进制文件
- 二进制文件被存储于我们的硬盘中
- 当程序需要被运行时,内存会从硬盘中读文件
- 读取的文件又被计算机的大脑–CPU读取
- 被读取的文件的数据被CPU暂时存储在CPU的寄存器中
- CPU的运算器对寄存器的数据进行运算
- 运算器的运算结果存储于寄存器中
- 内存读取CPU中的寄存器的结果送到输出设备输出
- 程序员小白菜在屏幕看到结果
- 一次程序的运行结束,内存、寄存器的数据被释放,直到下一次程序运行又会重新分配地址,硬盘的数据不会被释放,继续保存着
下图是我画的流程图,有点简略: