啥都玫说之程序篇-1.6编程

1.6 编程

好了,开始说编程。我们通过流程图可以看到从开始用编程语言写代码,到最/后能够运行,最多也就经历如下这么多步骤。当然这个步骤是按照GCC编译器的编译流程来的,用的自然也是C语言。

“`flow

st->src->yu->chun->bianyi->huibian->hbqi->mubiao->lj->ku->ljqi->zhixing->e

“`

每种不同的编程语言,都会对应自己的编译器,甚至一种编程语言可以有很多不同的编译器。根据编译器的不同,编译的流程也会不同,GCC的编译流程,应该是目前能见到最完整也最麻烦的流程了。

纯源文件进入编译器,就产生了汇编程序,这个时候汇编程序依然可读,就是所谓的将高/级语言翻译为低级语言,然后进入汇编器产生目标文件,不过大多数时候这个过程是透明的,因为多数开发人员并不在乎汇编程序。

下一个步骤就是将汇编器生成的目标文件通过连接器链接编程语言中所提供的库文件链接为可执行文件。到此为止,从编程语言到程序的过程就结束了。这个时候程序已经诞生了,并且能够运行了。 如果简单描述这个流程,大概是下面这样的

“`flow

st->src->bianyi->ljqi->zhixing->e

“`

说完了这个流程,回头看编程是什么?通俗点说,编程是一个从编程语言到可以运行的完整流程。

1.7 这就是程序

说了以上一大堆,我们再看看什么是程序?通俗点解释吧,程序就是我们人类用计算机可以识别的语言吩咐计算机为我们做的一项工作。

程序就是我们设计好的让计算机做的事情,说白了,就是“套路”。用一个比喻来说如果计算机是一架钢琴,那么程序就是乐谱;这架钢琴能够演奏什么乐曲,完全取决于使用了什么乐谱。如果不做深层次的追究,一架正常的钢琴能演奏什么样的乐曲,与钢琴本身无关,与演奏用的乐谱有关系。这里说的不做深层次的追究,我是想说不追究演奏者是谁……一旦追究起来又会牵扯出方方面面的问题。所以这个比喻的探讨就止步于此,以后我们有机会再探讨演奏者的问题。

话到这里,程序是什么基本解释完了。我们再回头看,无论是我们在电脑上用的程序,安卓手机的程序,还是苹果设备的APP,甚至是一个 站,我们都可以将它理解为一个程序,程序本身和它所处的位置无关,和呈现形态也无关。只和它的本质有关,本质是什么?就是我们刚才所说程序就是我们人类用计算机可以识别的语言吩咐计算机为我们做的一项工作。

那么为什么我们很少在一些比较严肃的场合看到程序这种说法呢?因为稍微专业一点的人会称其为“软件”,比如:软件开发,软件系统,应用软件等等。

到这里呢,程序是什么说的就差不多了,在这里还要补充的一点,就是前面所说到的库文件。所说的库文件,我们只从功能或者类型上进行讨论,不具体局限在某一种文件格式。每一种编程语言都会有自己的语法,除了语法以外呢?我们还会用到的就是编程语言、集成开发环境和系统提供给我们的一些功能,这些功能一般都会保存在库文件当中。根据提库文件的提供者不同,大体上可以分为: – [x] 语言标准库:编程语言提供给我们使用的基本功能。 – [x] 系统库:操作系统提供给我们的功能。 – [x] 扩展库:集成开发环境或其他第三方开发的,用来将某些复杂功能简单化的功能。

我想再强调一次,我说的不是定义、定理,是理解,如果和我咬文嚼字,认为我说的和标准定义不同,请绕行。

一般情况下,我们把系统库中提供给我们使用功能称为API(Application Programming Interface,应用程序编程接口),是一些预先定义的函数,类或数据结构,目的就是提供一些无需了解内部原理又能方便使用的功能。以前的API局限在操作系统提供的功能层面,现在提到API的话,很多 络公共服务也提供API供大家调用,比如百度的语音识别、图像识别。

库文件呢,也根据编程语言的不同,有不同的名称。比如在C语言当中,称为库文件;JAVA语言当中一般称为类库;python语言当中一般成为库或包。我更习惯统称这些东西为“×××提供的API”。

正常情况下,使用“×××提供的API”的这种操作被称为调用

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月5日
下一篇 2022年5月5日

相关推荐