精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

18岁网站在线观看| 国产主播喷水一区二区| 成人免费毛片日本片视频| 182在线视频观看| 久久综合色天天久久综合图片| 浅井舞香一区二区| 欧美激情视频二区| 经典三级久久| 欧美日韩久久久久| 正义之心1992免费观看全集完整版| 国产sm主人调教女m视频| 国产农村妇女精品一二区| 最近2019中文字幕第三页视频| 国产裸体视频网站| 澳门av一区二区三区| 亚洲欧美日韩国产成人精品影院 | 日韩伦人妻无码| 欧美人与物videos另类xxxxx| 欧美丰满少妇xxxxx高潮对白| 免费看国产曰批40分钟| 麻豆视频在线免费观看| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品午夜视频| 国产对白videos麻豆高潮| 日韩一区电影| 国产视频久久久| 国产精品19p| 992tv国产精品成人影院| 亚洲影院理伦片| 天堂一区二区三区| 欧美一级淫片aaaaaa| 久久99精品国产麻豆婷婷洗澡| 欧美专区中文字幕| 国产在线欧美在线| 中文字幕人成人乱码| 日韩精品1区2区3区| 国产精品久久久久久一区二区三区| 成人av免费看| 136福利视频导航| 久久资源在线| 7m第一福利500精品视频| 精品国产乱码久久久久久鸭王1| 精品国产一区二区三区| 亚洲精品720p| 韩国黄色一级片| 国产成人免费av一区二区午夜| 在线一区二区视频| 精品视频无码一区二区三区| 欧产日产国产精品视频 | 亚洲成年人在线| 天天色天天综合网| 外国电影一区二区| 色94色欧美sute亚洲13| 欧美精品99久久| 99久久精品免费看国产小宝寻花| 亚洲人成在线观看一区二区| 一区二区三区不卡在线| 午夜毛片在线| 亚洲国产岛国毛片在线| 日韩欧美在线一区二区| 国产资源在线看| 日本一区二区三区四区在线视频| 欧美深深色噜噜狠狠yyy| 免费一级在线观看| 国产丝袜美腿一区二区三区| 日本欧美色综合网站免费| 国产中文在线视频| 国产欧美日韩精品一区| 视频一区视频二区视频| 中文日本在线观看| 成人免费一区二区三区视频| 资源网第一页久久久| 成人无遮挡免费网站视频在线观看| 成人免费一区二区三区在线观看 | 亚洲精品美女91| 91精品国产91久久久久久久久 | 久久久久看片| 国产精品久久久999| 波多野结衣在线观看一区| 久久免费高清| 国产有码一区二区| 精品人妻av一区二区三区| 成人晚上爱看视频| 欧美日韩免费高清| 永久免费av片在线观看全网站| 综合中文字幕亚洲| 日本中文字幕在线视频观看| 性孕妇free特大另类| 一本到不卡精品视频在线观看| 99视频免费播放| 国产欧美视频在线| 亚洲精品国产成人| 东京热无码av男人的天堂| 综合久久精品| 日本精品一区二区三区在线| 在线观看中文字幕码| 国产盗摄女厕一区二区三区| 久久久久久久久一区二区| 成年人视频网站在线| 亚洲美女屁股眼交| 国产高清精品在线观看| 欧美男女视频| 亚洲国产精品国自产拍av秋霞 | 日韩中文字幕免费在线观看| 久久蜜桃av一区二区天堂| 在线丝袜欧美日韩制服| 超碰成人av| 欧美视频一区二| 天天躁日日躁狠狠躁av| 成人免费在线播放| 久久人人爽人人爽人人片av高清| 国产免费a视频| 国产69精品久久99不卡| 日韩精品资源| 黄色在线看片| 欧美日免费三级在线| 精品人妻一区二区免费| 99成人超碰| 欧美中文字幕在线观看| 亚洲精品一区二区三区蜜桃| 欧美××××黑人××性爽| 国产三级精品三级| 很污的网站在线观看| 中文字幕系列一区| 亚洲国产成人久久| 亚洲一级生活片| 可以免费看不卡的av网站| 99一区二区| 日本视频在线| 欧美性猛交xxxx久久久| 中文写幕一区二区三区免费观成熟| 精品免费一区二区| 欧美一级电影免费在线观看| 亚洲国产精品欧美久久| 国产精品成人一区二区三区夜夜夜| 91黄色小网站| 久久超级碰碰| 欧美国产欧美亚洲国产日韩mv天天看完整 | 黄色片一级视频| 国产精品chinese在线观看| 精品国产欧美一区二区五十路 | 日本aⅴ免费视频一区二区三区| 国产高清自拍一区| 日本色护士高潮视频在线观看| 欧美日韩成人一区| 影音先锋男人看片资源| 蜜桃久久久久久| 日韩一区不卡| 欧美日韩亚洲国产| 伊人久久久久久久久久久| 男人日女人网站| 99国产欧美另类久久久精品| 久久99久久久久久| 97超碰成人| 久久久久久亚洲精品中文字幕| 国产熟女精品视频| 亚洲欧美国产毛片在线| 色哟哟在线观看视频| 国产精品久久观看| 91免费看片网站| bestiality新另类大全| 日韩一区二区免费视频| 青青草手机视频在线观看| 国产高清在线精品| 亚洲爆乳无码精品aaa片蜜桃| 超碰97久久| 欧美激情性做爰免费视频| 免费看日韩av| 欧美性xxxxx极品| 性欧美13一14内谢| 琪琪一区二区三区| 国产又粗又爽又黄的视频| 欧美高清hd| 国模精品视频一区二区| 天堂av网在线| 欧美亚洲动漫精品| 欧美肥妇bbwbbw| 成人一区二区在线观看| 国产伦精品一区二区三区四区视频_ | 天堂成人av| 亚洲国产精品小视频| 欧产日产国产69| 国产精品久久久久久久久免费丝袜| 男人添女人下面免费视频| 欧美在线播放| 久久99精品久久久久久久青青日本| 亚洲国产综合久久| 色婷婷在线播放| 欧美性视频一区二区三区| 黄色av片三级三级三级免费看| 久久精品国产99久久6| 中国一级大黄大黄大色毛片| 黄色网一区二区| 国产精品1234| 一色桃子av在线| 亚洲美女精品久久| 国产巨乳在线观看| 精品国产乱码久久久久酒店| 殴美一级黄色片| av在线综合网| 中文字幕网av| 在线观看亚洲| 亚洲欧美精品| 国产精品xxx在线观看| 国产精品一区二区三| 丁香花高清在线观看完整版| 亚洲人a成www在线影院| xxxwww在线观看| 日本韩国精品一区二区在线观看| 国产午夜手机精彩视频| 久久久久久亚洲综合影院红桃| 99热这里只有精品2| 日韩福利电影在线| 免费拍拍拍网站| 成人羞羞网站入口| 精品国产免费一区二区三区| av日韩一区| 国产精品福利网| 在线最新版中文在线| 九九九久久国产免费| 国产女主播在线写真| 亚洲福利精品在线| 精品乱子伦一区二区| 欧美人妇做爰xxxⅹ性高电影| 特级西西444www大精品视频免费看| 亚洲欧美日韩成人高清在线一区| 公肉吊粗大爽色翁浪妇视频| 91色在线porny| 中文字幕人妻一区| 国产美女精品一区二区三区| 亚洲福利精品视频| 美女被久久久| 国产二区视频在线播放| 亚洲全部视频| 人妻互换免费中文字幕| 91精品亚洲| 一区二区三区欧美成人| 精品日韩毛片| 日韩欧美精品一区二区| 久久99免费视频| 欧美连裤袜在线视频| 乱亲女h秽乱长久久久| 国产91精品一区二区绿帽| 国产美女视频一区二区| 亚洲伊人久久综合| 亚洲资源在线| 91久久国产综合久久91精品网站| 国产一区高清| 国产欧美 在线欧美| 精品176极品一区| 国产一区欧美二区三区| 亚洲91在线| 91久久中文字幕| 亚洲伦理网站| 亚洲va欧美va国产综合剧情| 国产日本亚洲| 国产乱码精品一区二区三区中文| 91精品啪在线观看国产爱臀| 国外成人在线视频网站| 国产毛片精品| 久久青青草原一区二区| 全国精品免费看| 日本电影一区二区三区| 精品国产视频| 视频一区二区视频| 国产精品v日韩精品v欧美精品网站| 无码粉嫩虎白一线天在线观看 | 国产精品视频一二区| 678五月天丁香亚洲综合网| 国产精品久久免费| 日韩欧美一二三四区| 黑人乱码一区二区三区av| 亚洲精品动漫久久久久| 蜜桃视频在线观看视频| 中文字幕九色91在线| 大片免费在线观看| 欧美黑人视频一区| 麻豆mv在线观看| 国产精品盗摄久久久| 亚洲一区二区三区久久久| 岛国视频一区| 亚欧日韩另类中文欧美| 亚洲精品美女久久7777777| 亚洲精品在线观看91| 黄色成人在线看| 日韩av在线播放中文字幕| 亚洲色图欧美自拍| 92精品国产成人观看免费| 色欲狠狠躁天天躁无码中文字幕 | 欧美精品一区二区性色a+v| 欧美三级网页| 久久久久免费精品| 国产精品一区免费在线观看| 超碰男人的天堂| 国产视频亚洲色图| 欧美黄色aaa| 色哟哟亚洲精品| 99久久精品国产一区色| 日韩av在线免费播放| 天堂地址在线www| 91国内精品久久| 日韩成人在线电影| 精品999在线观看| 日韩综合精品| 丁香花在线影院观看在线播放| 日韩不卡手机在线v区| 欧美老女人bb| 国产人久久人人人人爽| 国产成人精品亚洲男人的天堂| 欧美日本视频在线| 亚洲欧美日韩精品永久在线| 久久成人综合视频| 二区三区不卡| 99r国产精品视频| 大色综合视频网站在线播放| 日日碰狠狠添天天爽超碰97| 老司机精品视频在线| 亚洲狠狠婷婷综合久久久久图片| 成人免费在线播放视频| 中文字幕 人妻熟女| 亚洲国产精品系列| 黄色网页在线看| 国产精品av网站| 五月综合久久| 热99这里只有精品| 大尺度一区二区| 国内偷拍精品视频| 在线不卡一区二区| 粉嫩av一区| 热re99久久精品国产66热| www.亚洲一二| 国产欧美精品aaaaaa片| 激情久久五月天| eeuss中文字幕| 欧美日韩在线视频一区| 欧美激情专区| 九九久久免费视频| 成人羞羞网站| 国产精品久久久久7777| 国产中文字幕精品| 少妇太紧太爽又黄又硬又爽小说| 日韩精品二区| 五月天综合婷婷| 美女诱惑一区二区| 公肉吊粗大爽色翁浪妇视频| 欧美日韩亚洲激情| 性xxxxbbbb| 97欧美精品一区二区三区| aaa国产精品视频| 日韩一区二区高清视频| 福利电影一区二区| 精品无码m3u8在线观看| 精品不卡在线视频| zzzwww在线看片免费| 国产精品一区二区免费看| 精品99视频| 内射中出日韩无国产剧情| 黄色精品在线看| 午夜黄色小视频| 国产91精品久| 国产欧美一区二区精品久久久| 可以在线看的黄色网址| 久久精品免视看| 中文资源在线播放| 久久久精品久久| 亚洲精品在线a| 成人黄色av片| 久久久精品国产免大香伊 | 亚洲视频一区| 伊人网综合视频| 日韩欧美在线免费| 超碰免费在线观看| 成人精品aaaa网站| 综合激情一区| 午夜一区二区三区免费| 色婷婷国产精品久久包臀| 超碰国产在线观看| 91视频国产一区| 一区在线免费观看| 中文字字幕码一二三区| 欧美日韩中文国产| 蜜桃传媒在线观看免费进入| 欧美精品成人一区二区在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧洲第一无人区观看| 精品久久国产97色综合| 高潮一区二区| av电影一区二区三区| 99在线精品免费| 波多野结衣人妻| 麻豆乱码国产一区二区三区 | 久久久.www| 亚洲美女av网站| 国产精品视频一区视频二区| 激情深爱综合网| 国产精品福利一区二区三区| 人妻与黑人一区二区三区| 国产精品成人v| 国内自拍视频一区二区三区 | 黄片毛片在线看|