- 硬件执行指令
从cpu的角度来看,机器工作的过程就是通过一个不断的加载并执行指令过程。指令由指令码和操作数据组成,根据指令和数据不同组合为不同长度和内容的二进制字节串。
- 高级语言(C语言)编程
在C语言中,有不同数据类型(char, short, int, float, double等)的变量,变量之间可以执行加减乘除等不同的操作,程序流除了顺序执行之外还可以有条件选择和循环执行;程序还可以定义函数,将相关逻辑分类然后重复调用;除了自己写的代码之外还可以调用系统的函数库,使用许多系统提供的功能强大多样的函数;还有……
那么, c语言编写的代码最终是如何转换为一系列连续的底层指令供cpu加载调用的呢?
源代码 --编译器--> 可执行文件(ELF/PE) --加载器--> 程序加载到内存并传递到cpu执行
以下以linux平台下gcc编译c语言为例讲解,其它平台和编译型语言可能细节不同,但大体原理基本相同。
写作中,待续。。。