這次聊聊「編譯器和直譯器」。
程式語言中,有以c為代表的編譯型語言和以perl為代表的解釋型語言。不管是哪種,程式都是以人類能夠理解的形式記錄的,這種形式計算機是無法理解的。
因此,才會有編譯器和直譯器。
對於編譯型語言,是使用編譯器將人類可讀的**轉換為機器能夠理解的「機器語言」檔案,然後通過執行這個「機器語言」檔案來實現程式的執行。
另一方面,對於解釋型語言,是使用直譯器將人類可讀的**逐行解釋,一邊解釋一邊執行這個程式。(這裡的解釋是將**解釋成機器語言,讓計算機能夠理解)
甚至有的語言既可以編譯後執行,也可以邊解釋邊執行。
編譯型語言執行時沒有直譯器的介入,所以一般執行速度比較快。但是開發時,每次修改**都要編譯,所以編寫**和除錯的時間比較長。
解釋型語言的執行速度一般比編譯型語言要差,但它的優點是**修改後可以立即執行。(這樣可以節約開發時間)
編譯型語言和解釋型語言各有長短,與其說哪個更好,倒不如根據實際情況選擇合適的。
Linux 小知識翻譯 伺服器
這次聊聊 伺服器 這個詞。可能會覺得為什麼 突然問這個?接下來請先考慮一下下面的題目。a web伺服器是指提供網頁資料的軟體 b web伺服器是指執行上述軟體的硬體 那麼,究竟那句話是對的呢?答案是 2句都是對的。也就是說,提到 伺服器 的時候,可能是指軟體,也可能是指硬體。比如,apache 軟體...
談笑間解答 編譯器和直譯器
菜鳥經常將編譯器和直譯器弄混淆,無奈之下,於是向高手請教。高手說 直譯器是一條一條的解釋執行源語言。比如php,python就是的解釋性語言。編譯器是把源 整個編譯成目標 執行時不在需要編譯器,直接在支援目標 的平台上執行,這樣執行效率比解釋執行快很多。比如c語言 被編譯成二進位制 exe程式 在w...
Linux 小知識翻譯 轉殖
最近比較流行的linux發行版,得是連新聞都報道的,剛剛發布新版的 centos 了。centos 一般被稱為red hat enterpriselinux的轉殖版本,這是什麼意思呢?linux發行版中的大部分都是由開源軟體所構成的。安裝盤中雖然只包含了所有編譯好的二進位制軟體包,但一般都會以其他方...