本文特指Linux操作系统下和静态编译性语言
我们写的「代码」只是个普通的文本文件,因为编译器等方式得以转化为二进制代码。代码文本从最早期的「二进制代码」演化到现在“百花齐放”的「编程语言代码」,粗略演化路线:
点击查看大图
现代编程语言语言,可以让我们更加高效编写程序。
以Go语言为例,最终Go代码汇编「编译器」转化为「汇编代码」,再到「二进制代码」文件。
我们的代码文本都包含了什么?
为了简化理解,粗略来看代码主要分为两部分:
数据传输指令MOV
当二进制代码文件被执行时:
同样被加载到内存中的「代码」也主要分为两部分:
二进制代码被加载到内存之后,中央处理器CPU就可以从内存中读取指令、解析并执行指令。同时,如果当前指令操作了全局变量,执行指令过程中「中央处理器CPU」从内存中读取代码中预置数据(常量等)。其次,这里代码运行过程就是我们通常说到的「运行时 runtime」。
所以综上所述,我们写的代码到底是什么?
答:包含CPU指令和预置数据的文本文件。
预告
下篇文章我们就来看看:
代码是如何运行的?