精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺談匯編器、編譯器和解釋器

開發 后端
在計算機誕生不久的早期年代,硬件非常昂貴,而程序員比較廉價。這些廉價程序員甚至都沒有“程序員”這個頭銜,并且常常是由數學家或者電氣工程師來充當這個角色的。早期的計算機被用來快速解決復雜的數學問題,所以數學家天然就適合“編程”工作。

[[269044]]

簡單介紹一下編程方式的歷史演變。

在計算機誕生不久的早期年代,硬件非常昂貴,而程序員比較廉價。這些廉價程序員甚至都沒有“程序員”這個頭銜,并且常常是由數學家或者電氣工程師來充當這個角色的。早期的計算機被用來快速解決復雜的數學問題,所以數學家天然就適合“編程”工作。

什么是程序?

首先來看一點背景知識。計算機自己是做不了任何事情的,它們的任何行為都需要程序來引導。你可以把程序看成是非常精確的菜譜,這種菜譜讀取一個輸入,然后生成對應的輸出。菜譜里的各個步驟由操作數據的指令構成。聽上去有點兒復雜,不過你或許知道下面這個語句是什么意思:

  1. 1 + 2 = 3

其中的加號是“指令”,而數字 1 和 2 是數據。數學上的等號意味著等式兩邊的部分是“等價”的,不過在大部分編程語言中對變量使用等號是“賦值”的意思。如果計算機執行上面這個語句,它會把這個加法的結果(也就是“3”)儲存在內存中的某個地方。

計算機知道如何使用數字進行數學運算,以及如何在內存結構中移動數據。在這里就不對內存進行展開了,你只需要知道內存一般分為兩大類:“速度快/空間小”和“速度慢/空間大”。CPU 寄存器的讀寫速度非常快,但是空間非常小,相當于一個速記便簽。主存儲器通常有很大的空間,但是讀寫速度就比寄存器差遠了。在程序運行的時候,CPU 不斷將它所需要用到的數據從主存儲器挪動到寄存器,然后再把結果放回到主存儲器。

匯編器

當時的計算機很貴,而人力比較便宜。程序員需要耗費很多時間把手寫的數學表達式翻譯成計算機可以執行的指令。最初的計算機只有非常糟糕的用戶界面,有些甚至只有前面板上的撥動開關。這些開關就代表一個內存“單元”里的一個個 “0” 和 “1”。程序員需要配置一個內存單元,選擇好儲存位置,然后把這個單元提交到內存里。這是一個既耗時又容易出錯的過程。

[[269045]]

程序員Betty Jean Jennings (左) 和 Fran Bilas (右) 在操作 ENIAC 的主控制面板

后來有一名 電氣工程師 認為自己的時間很寶貴,就寫了一個程序,能夠把人們可以讀懂的“菜譜”一樣的輸入轉換成計算機可以讀懂的版本。這就是最初的“匯編器”,在當時引起了不小的爭議。這些昂貴機器的主人不希望把計算資源浪費在人們已經能做的任務上(雖然又慢又容易出錯)。不過隨著時間的推移,人們逐漸發現使用匯編器在速度和準確性上都勝于人工編寫機器語言,并且計算機完成的“實際工作量”增加了。

盡管匯編器相比在機器面板上切換比特的狀態已經是很大的進步了,這種編程方式仍然非常專業。上面加法的例子在匯編語言中看起來差不多是這樣的:

  1. 01 MOV R0, 1
  2. 02 MOV R1, 2
  3. 03 ADD R0, R1, R2
  4. 04 MOV 64, R0
  5. 05 STO R2, R0

每一行都是一個計算機指令,前面是一個指令的簡寫,后面是指令所操作的數據。這個小小的程序首先會將數值 1 “移動”到寄存器 R0,然后把 2 移動到寄存器 R1。03 行把 R0 和 R1 兩個寄存器里的數值相加,然后將結果儲存在 R2 寄存器里。***,04 行和 05 行決定結果應該被放在主存儲器里的什么位置(在這里是地址 64)。管理內存中存儲數據的位置是編程過程中最耗時也最容易出錯的部分之一。

編譯器

匯編器已經比手寫計算機指令要好太多了,不過早期的程序員還是渴望能夠按照他們所習慣的方式,像書寫數學公式一樣地去寫程序。這種需求推動了高級編譯語言的發展,其中有一些已經成為歷史,另一些如今還在使用。比如 ALGO 就已經成為歷史了,但是像 FortranC 這樣的語言仍然在不斷解決實際問題。

ALGO 和 Fortran 編程語言的譜系樹

ALGO 和 Fortran 編程語言的譜系樹

這些“高級”語言使得程序員可以用更簡單的方式編寫程序。在 C 語言中,我們的加法程序就變成了這樣:

  1. int x;
  2. x = 1 + 2;

***個語句描述了該程序將要使用的一塊內存。在這個例子中,這塊內存應該占一個整數的大小,名字是 x。第二個語句是加法,雖然是倒著寫的。一個 C 語言的程序員會說這是 “X 被賦值為 1 加 2 的結果”。需要注意的是,程序員并不需要決定在內存的什么位置儲存 x,這個任務交給編譯器了。

這種被稱為“編譯器”的新程序可以把用高級語言寫的程序轉換成匯編語言,再使用匯編器把匯編語言轉換成機器可讀的程序。這種程序組合常常被稱為“工具鏈”,因為一個程序的輸出就直接成為另一個程序的輸入。

編譯語言相比匯編語言的優勢體現在從一臺計算機遷移到不同型號或者品牌的另一臺計算機上的時候。在計算機的早期歲月里,包括 IBM、DEC、德州儀器、UNIVAC 以及惠普在內的很多公司都在制造除了大量不同類型的計算機硬件。這些計算機除了都需要連接電源之外就沒有太多共同點了。它們在內存和 CPU 架構上的差異相當大,當時經常需要人們花費數年來將一臺計算機的程序翻譯成另一臺計算機的程序。

有了高級語言,我們只需要把編譯器工具鏈遷移到新的平臺就行了。只要有可用的編譯器,高級語言寫的程序最多只需要經過小幅修改就可以在新的計算機上被重新編譯。高級語言的編譯是一個真正的革命性成果。

1983 發布的 IBM PC XT 是硬件價格下降的早期例子。

1983 發布的 IBM PC XT 是硬件價格下降的早期例子。

程序員們的生活得到了很好的改善。相比之下,通過高級語言表達他們想要解決的問題讓事情變得輕松很多。由于半導體技術的進步以及集成芯片的發明,計算機硬件的價格急劇下降。計算機的速度越來越快,能力也越來越強,并且還便宜了很多。從某個時間點往后(也許是 80 年代末期吧),事情發生了反轉,程序員變得比他們所使用的硬件更值錢了。

解釋器

隨著時間的推移,一種新的編程方式興起了。一種被稱為“解釋器”的特殊程序可以直接讀取一個程序將其轉換成計算機指令以立即執行。和編譯器差不多,解釋器讀取程序并將它轉換成一個中間形態。但和編譯器不同的是,解釋器直接執行程序的這個中間形態。解釋型語言在每一次執行的時候都要經歷這個過程;而編譯程序只需要編譯一次,之后計算機每次只需要執行編譯好的機器指令就可以了。

順便說一句,這個特性就是導致人們感覺解釋型程序運行得比較慢的原因。不過現代計算機的性能出奇地強大,以至于大多數人無法區分編譯型程序和解釋型程序。

解釋型程序(有時也被成為“腳本”)甚至更容易被移植到不同的硬件平臺上。因為腳本并不包含任何機器特有的指令,同一個版本的程序可以不經過任何修改就直接在很多不同的計算機上運行。不過當然了,解釋器必須得先移植到新的機器上才行。

一個很流行的解釋型語言是 perl。用 perl 完整地表達我們的加法問題會是這樣的:

  1. $x = 1 + 2

雖然這個程序看起來和 C 語言的版本差不多,運行上也沒有太大區別,但卻缺少了初始化變量的語句。其實還有一些其它的區別(超出這篇文章的范圍了),但你應該已經注意到,我們寫計算機程序的方式已經和數學家用紙筆手寫數學表達式非常接近了。

虛擬機

***潮的編程方式要數虛擬機(經常簡稱 VM)了。虛擬機分為兩大類:系統虛擬機和進程虛擬機。這兩種虛擬機都提供一種對“真實的”計算硬件的不同級別的抽象,不過它們的作用域不同。系統虛擬機是一個提供物理硬件的替代品的軟件,而進程虛擬機則被設計用來以一種“系統獨立”的方式執行程序。所以在這個例子里,進程虛擬機(往后我所說的虛擬機都是指這個類型)的作用域和解釋器的比較類似,因為也是先將程序編譯成一個中間形態,然后虛擬機再執行這個中間形態。

虛擬機和解釋器的主要區別在于,虛擬機創造了一個虛擬的 CPU,以及一套虛擬的指令集。有了這層抽象,我們就可以編寫前端工具來把不同語言的程序編譯成虛擬機可以接受的程序了。也許***也最知名的虛擬機就是 Java 虛擬機(JVM)了。JVM 最初在 1990 年代只支持 Java 語言,但是如今卻可以運行 許多 流行的編程語言,包括 Scala、Jython、JRuby、Clojure,以及 Kotlin 等等。還有其它一些不太常見的例子,在這里就不說了。我也是最近才知道,我最喜歡的語言 Python 并不是一個解釋型語言,而是一個 運行在虛擬機上的語言

虛擬機仍然在延續這樣一個歷史趨勢:讓程序員在使用特定領域的編程語言解決問題的時候,所需要的對特定計算平臺的了解變得越來越少了。

就是這樣了

希望你喜歡這篇簡單介紹軟件背后運行原理的短文。有什么其它話題是你想讓我接下來討論的嗎?在評論里告訴我吧。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-01-10 18:04:01

Python編程語言Windows

2017-03-20 18:01:55

編譯器匯編

2011-08-24 15:28:02

Lua編譯器解釋器

2019-06-14 08:35:14

華為禁令開發

2010-03-23 11:17:16

Python 動態編譯

2013-03-29 10:02:37

編譯器語言編譯開發

2009-08-10 17:12:54

C#編譯器

2010-01-21 09:11:38

C++編譯器

2010-01-18 10:34:21

C++編譯器

2009-07-06 12:49:33

JSP編譯器

2009-08-14 11:34:26

Mono C#編譯器

2010-01-18 10:28:15

C++編譯器

2009-08-04 15:52:58

ASP.NET編譯器

2022-05-18 09:31:42

編譯器開源代碼生成

2019-11-15 15:20:27

Golang編譯器前端

2010-02-24 16:49:24

Fedora SkyE

2010-07-29 14:18:57

Flex編譯器參數

2013-12-10 10:53:47

shellcode

2013-12-30 11:21:31

Go編譯器

2022-11-24 13:05:27

ClangiOS
點贊
收藏

51CTO技術棧公眾號

免费人成自慰网站| 国产区日韩欧美| 裸体武打性艳史| 国产精品对白久久久久粗| 天天影视涩香欲综合网| 日本在线成人一区二区| 国产手机视频在线| 伊人久久大香线蕉综合热线| 亚洲日韩中文字幕| 日韩精品aaa| 自拍视频在线看| 亚洲特级片在线| 欧美日韩国产一二| 国产suv精品一区二区69| 国产一区二区三区成人欧美日韩在线观看 | 黄色大片网站在线观看| 日韩高清欧美| 日韩www在线| 小早川怜子一区二区三区| 亚洲最大成人| 亚洲国产欧美另类丝袜| 亚洲国产精品久久久久婷婷老年| 狠狠人妻久久久久久综合麻豆| 日产国产欧美视频一区精品| 国内揄拍国内精品少妇国语| 国产传媒在线看| 国产精品jk白丝蜜臀av小说 | 国产后入清纯学生妹| 久久婷婷丁香| 97久久久久久| 欧美黄色免费看| 久久久久蜜桃| 国产亚洲精品激情久久| 免费无码一区二区三区| 精品伊人久久| 欧美久久久久久久久中文字幕| 国产男女无遮挡| 波多一区二区| 亚洲欧美国产高清| 一区二区三区我不卡| 美女毛片在线看| 91在线观看下载| av日韩免费电影| 国产高潮流白浆喷水视频| 奇米影视7777精品一区二区| 国产v综合ⅴ日韩v欧美大片| 日韩乱码人妻无码中文字幕| 好看的日韩av电影| 久久99久久99精品免观看粉嫩| 日韩在线视频免费看| 欧美日韩一区二区综合| 亚洲人成自拍网站| 波多野结衣av在线观看| 亚洲人挤奶视频| 亚洲跨种族黑人xxx| 国产伦精品一区二区三区妓女| 精品综合久久88少妇激情| 精品sm在线观看| 波多野结衣视频播放| 久久精品国产亚洲5555| 亚洲黄色在线观看| 国产一级二级视频| 日韩av影院| 亚洲跨种族黑人xxx| 在线观看福利片| 国产欧美一区二区三区精品观看| 亚洲免费视频网站| 免费一级特黄3大片视频| 日本一区二区免费高清| www.亚洲成人| 欧美成人一二三区| 亚洲国产日韩欧美一区二区三区| 97视频在线观看免费| 日韩av大片在线观看| 三级影片在线观看欧美日韩一区二区| 欧美壮男野外gaytube| 波多野结衣网站| 久久国产麻豆精品| 91超碰在线电影| 日本xxxxwww| 久久久精品黄色| 亚洲一卡二卡| 亚洲奶水xxxx哺乳期| 午夜精品视频在线观看| 国产真实乱子伦| 99精品国产九九国产精品| 日韩精品一区在线| www 日韩| 欧美特黄色片| 欧美一区二区网站| 亚洲国产精品第一页| jazzjazz国产精品麻豆| 亚洲精品一二区| 天堂在线中文视频| 综合一区二区三区| 91精品国产91久久久久久最新| 久久久久在线视频| 国产麻豆9l精品三级站| 国产在线视频欧美一区二区三区| 国产高清在线观看| 一区二区三区中文字幕精品精品| 国产肥臀一区二区福利视频| 色综合久久久| 亚洲精品理论电影| 99自拍视频在线| 亚洲中午字幕| 91观看网站| 国产黄在线看| 婷婷综合五月天| 国产成年人视频网站| 日韩成人av在线资源| 日韩视频在线免费| 日本特级黄色片| 国产精品一卡二卡| 视频在线观看成人| 免费v片在线观看| 欧美一二三在线| 青娱乐国产视频| 亚洲第一精品影视| 91亚洲国产成人精品性色| 蜜桃免费在线| 黄网动漫久久久| japan高清日本乱xxxxx| 日本一区二区高清不卡| 欧美一区二粉嫩精品国产一线天| 999精品国产| 国产精品欧美经典| 日韩视频在线免费看| 成人h动漫精品一区二区器材| 日韩中文理论片| 无码人妻精品一区二区蜜桃色欲| 成人听书哪个软件好| 久久久成人精品一区二区三区| 吞精囗交69激情欧美| 日韩av在线高清| 日本熟妇毛茸茸丰满| 国产成人免费视频一区| 中文字幕乱码一区二区三区| 高清在线一区| 国产一区二区三区在线观看视频| 国产精品人人人人| av电影一区二区| 拔插拔插海外华人免费| 永久免费精品视频| 欧美激情精品久久久久久蜜臀| 国产又大又黄的视频| 国产精品伦理一区二区| 天天影视综合色| 九九热线有精品视频99| 国产成人精彩在线视频九色| 日本私人网站在线观看| 疯狂做受xxxx欧美肥白少妇| 北岛玲一区二区| 亚洲少妇一区| 欧美精品一区二区视频| 成人免费看视频网站| 亚洲视频在线观看视频| 性色av免费观看| 国产农村妇女精品| 天天色综合社区| 99国产精品一区二区| 91九色单男在线观看| 亚洲资源一区| 欧美成人一区二区| 日本少妇毛茸茸高潮| 26uuu欧美| 狠狠躁狠狠躁视频专区| 99久久精品网| 91偷拍精品一区二区三区| av美女在线观看| 亚洲老头同性xxxxx| 中文字幕日韩第一页| 亚洲丝袜另类动漫二区| 黄页网站在线看| 99在线|亚洲一区二区| 人禽交欧美网站免费| 久久日本片精品aaaaa国产| 日韩中文字幕在线精品| 精品人妻一区二区三区日产乱码| 亚洲精品中文在线影院| 欧亚乱熟女一区二区在线| 久久免费高清| 天天干天天色天天爽| 欧美有码在线| 国产精品揄拍500视频| 18网站在线观看| 日韩精品免费观看| 亚洲最新av网站| 亚洲一二三专区| 国产又粗又猛又爽又黄av | 久草热视频在线观看| 国产一区二区三区网| 成人黄在线观看| 秋霞伦理一区| 久久人人爽人人爽人人片亚洲| 丰满肥臀噗嗤啊x99av| 欧美系列一区二区| 久久精品视频6| 国产精品区一区二区三| 又黄又色的网站| 美女视频网站久久| 久久综合色视频| 久久一区二区中文字幕| 国产日产精品一区二区三区四区| 精品视频在线一区二区在线| 欧美黑人视频一区| 搞黄视频在线观看| 精品国产一区久久| 一炮成瘾1v1高h| 狠狠躁夜夜躁久久躁别揉| 国产喷水在线观看| 久久婷婷成人综合色| 韩国三级与黑人| 精品在线视频一区| 欧美日韩激情视频在线观看 | 不用播放器成人网| 欧美视频免费一区二区三区| 日韩欧美色综合| 中文字幕av资源| 色哟哟欧美精品| 日本中文字幕在线免费观看| 亚洲欧美日韩国产综合| 中文字幕成人动漫| 99这里只有精品| 人妻巨大乳一二三区| 美女一区二区三区在线观看| 欧美日韩亚洲第一| 1024精品一区二区三区| 国风产精品一区二区| 久久影视一区| 婷婷久久伊人| 精品成av人一区二区三区| 国产专区一区二区三区| 成人高潮视频| 99re视频在线播放| 视频亚洲一区二区| 成人午夜小视频| 日日狠狠久久| 成人激情视频小说免费下载| jizz久久久久久| 国产精品99久久久久久久久久久久| 精精国产xxxx视频在线野外| 欧美国产日本在线| 色爱综合区网| 精品中文字幕在线观看| av片哪里在线观看| 久久成人免费视频| 搞黄网站在线观看| 久久福利视频网| yellow91字幕网在线| 久久视频在线免费观看| 麻豆影视国产在线观看| 一区二区在线免费视频| 成人av毛片| 中文字幕综合在线| 日韩毛片久久久| 久久视频免费在线播放| 国产1区在线| 久久久久久亚洲精品不卡| 暖暖在线中文免费日本| 久久久久久国产| 日本黄色免费在线| 热久久美女精品天天吊色| 欧美专区福利免费| 国产精品免费久久久| 亚洲日本免费电影| 91久久极品少妇xxxxⅹ软件 | 日本一区二区三区视频在线播放| 香蕉精品久久| 亚洲精品视频一二三| 国产二区精品| 欧美乱做爰xxxⅹ久久久| 日韩视频一区| 国产精品69页| 裸体在线国模精品偷拍| 国产探花一区二区三区| 99精品视频在线播放观看| 精品无码国产污污污免费网站| 中文字幕成人网| 欧美精品一级片| 疯狂蹂躏欧美一区二区精品| 中文字幕资源网| 日韩免费在线观看| 欧美精品久久久久久久久久丰满| 一区二区三区天堂av| 影音先锋男人资源在线| 91成人性视频| 24小时成人在线视频| 国产专区一区二区| 欧美jizz| 国产精品久久中文字幕| 美女尤物国产一区| 久久久久国产免费| 亚洲国产成人午夜在线一区| 欧美三根一起进三p| 欧美性猛交xxxx免费看| 国产三级第一页| 亚洲精品综合精品自拍| 国产在线高清视频| 欧美一级大片在线观看| japansex久久高清精品| 美日韩精品免费| 在线一区免费| 男女啪啪网站视频| 成人免费的视频| 国产成人精品视频免费| 午夜精品福利一区二区三区蜜桃| 国产成人精品一区二区色戒| 精品国产制服丝袜高跟| 91社区在线观看播放| 午夜精品久久久久久久99热 | 亚洲高潮女人毛茸茸| 亚洲二区在线观看| 一级aaaa毛片| 亚洲欧美在线一区| 丝袜中文在线| 成人高h视频在线| 精品久久精品| 日韩中文字幕在线视频观看| 韩国av一区二区| 人与嘼交av免费| 精品欧美一区二区三区| 99热这里精品| xxx欧美精品| 日韩经典一区| 欧美最大成人综合网| 亚洲精品在线二区| 久久无码专区国产精品s| 亚洲视频小说图片| 中文字幕欧美人妻精品| 亚洲天堂av综合网| 欧美大片免费观看网址| 国产一区二区精品在线| 欧美色一级片| 欧美国产日韩在线视频| 国产精品国产馆在线真实露脸| 日韩精品一区不卡| 亚洲美女在线视频| 蜜臀久久精品| 久久综合色一本| 99亚洲一区二区| 久久久久9999| 天天色综合天天| 天堂v视频永久在线播放| 午夜精品久久久久久99热软件| 波多野结衣欧美| 国内少妇毛片视频| 成人h精品动漫一区二区三区| 黄色一级片在线| 精品少妇一区二区三区免费观看| 1769免费视频在线观看| 亚洲xxx视频| 午夜精品网站| 97精品人妻一区二区三区蜜桃| 亚洲自拍偷拍麻豆| 日本波多野结衣在线| 亚州精品天堂中文字幕| 日韩精品免费一区二区夜夜嗨 | 九九热国产精品视频| 日韩免费一区二区| 国产福利电影在线播放| 蜜桃91精品入口| 久热re这里精品视频在线6| 亚洲v国产v欧美v久久久久久| 欧美性猛交xxxx乱大交退制版| av在线之家电影网站| 国产日韩欧美视频在线| 国产精品久久占久久| 三级网站免费看| 亚洲va欧美va人人爽午夜| 四虎电影院在线观看| 国产精品电影在线观看| 欧美韩日一区| 中国男女全黄大片| 天天射综合影视| 91porn在线观看| 亚洲最大福利网| 一区二区三区高清视频在线观看| 亚洲图片另类小说| 91麻豆精品91久久久久久清纯| 日韩电影免费观看| 精品欧美一区二区久久久伦| 老司机午夜精品视频在线观看| 男人天堂资源网| 亚洲精品一区二区三区99| 夜鲁夜鲁夜鲁视频在线播放| 亚洲精品免费在线看| 国产一区二区三区在线观看精品| 日韩三级av在线| 在线亚洲男人天堂| 91综合精品国产丝袜长腿久久| av免费播放网址| 亚洲日本护士毛茸茸| 天天av综合网| 亚洲综合av影视| 丝袜亚洲另类欧美综合| 国产av 一区二区三区| 亚洲欧洲视频在线| 日本精品在线播放| 波多野结衣天堂|