关键字:程序语言、编译器、可执行文件、交叉编译、库的链接与加载、程序员的自我修养
一个程序的执行从高级语言到机器上可以执行的程序是有一个完整的流程,我们姑且称其为一段代码的旅行。图1展示了在这段旅行中的几个关键的环节,该篇文章主要是做一个流程的简述,具体的内容展开说明。
图1 一段代码的旅行
程序语言,其是一个工具,其出现是为了简化我们实现某一个工作的工作难度,假如我们穿越回计算机刚开始的时候,操作机器码会是异常的困难。不同的语言有不同的特性,这也就引发了各种程序员的之间对于最好程序语言之争。程序语言到目前已经发展的很成熟,有各种语法就如我们的语言一样。利用程序语言编写相应的算法和功能就比如写作一样,本身就是一种艺术创作的行为。里面很多的套路这里不做说明了,后续有机会会展开。
编译器编译,就是为了将编写的代码编译成机器可执行的文件格式。这里面包含很多的细节,预编译、编译、汇编、链接,其都是编译可执行文件过程不可缺少的环节。后续会提到的内容展开专门的讲解,欢迎催更。
特定的硬件平台执行,一个可执行文件必须要在其对应的硬件平台上执行,否则其机器码无法执行,计算机在执行可执行程序的时候会判定文件的格式确定是否可以执行。为了在一个平台上编译另一个平台的可执行文件也就有了交叉编译链的产生了。代码的执行效率又跟特定的硬件平台的特性有关系,这里又设计到计算机架构还有操作系统的相关知识。
今天就对程序的开发和执行简述到此,很多展开的知识在《程序员的自我修养——链接、装载和库》上有,可以阅读其扩充相关知识。