每種編譯器必需的功能
發布時間: 2025-07-17 18:57:14
❶ 一文了解解釋型語言和編譯型語言之區別
解釋型語言和編譯型語言的區別:解釋型語言每次執行程序都需要一邊轉換一邊執行;編譯型語言將所有的源代碼都轉換成可執行程序。
在說編譯型語言和解釋型語言的區別之前,我們先來了解一下什麼是編程語言。其實,程序指的就是一系列的指令,用來告訴計算機做什麼,而編寫程序的關鍵在於,我們需要用計算機可以理解的語言來提供這些指令。為了有效避開所有影響給計算機傳遞指令的因素,計算機科學家設計了一些符號,這些符號的各有其含意,且之間無二義性,通常稱它為編程語言。
我們編寫的源代碼是人類語言,我們自己能夠輕松理解;但對於計算機硬體(CPU)源代碼簡直就是天書,根本無法執行,計算機只能識別某些特定的二進制指令,在程序真正運行之前必需將源代碼轉化成二進制指令。
所謂的二進制指令,也就是所謂的機器碼,是CPU能夠識別的硬體層面的「代碼」,簡陋的硬體(比如古老的單片機)只能使用幾十個指令,強大的(PC和智能手機)能使用成百上千個指令。
有的編程語言要求必須提前將源代碼一次性轉化成二進制指令,也就是生成一個可執行的程序(Windows下的.exe),比如C語言、C++、Golang、Pascal(Delphi)、匯編等。這種編程語言稱為編譯型語言,使用的轉換工具稱為編譯器。
而有的編程語言可以一邊執行一邊轉換,需要哪些源代碼就轉換哪些源代碼,不會生成可執行程序,比如Python、JavaScript、PHP、Shell、MATLAB等。這種編程語言稱為解釋型語言,使用的轉換工具稱為解釋器。
熱點內容