解釋執(zhí)行與編譯執(zhí)行

編程語言分為低級語言和高級語言,機器語言、匯編語言是低級語言,C、C++、java、python等是高級語言。
機器語言是最底層的語言直接執(zhí)行,匯編語言通過匯編器翻譯成機器指令后執(zhí)行,一條匯編指令,對應(yīng)著一條機器指令。
高級語言編程的程序有三種執(zhí)行方式,一種是編譯執(zhí)行,程序語句先通過編譯器(負責(zé)將一條語句翻譯成多條機器指令)翻譯成機器指令然后執(zhí)行;一種是解釋執(zhí)行,程序語句逐條被解釋器解釋執(zhí)行,不需要編譯成機器指令;最后一種是編譯和解釋相結(jié)合的執(zhí)行方式,程序先被編譯成字節(jié)碼文件,然后字節(jié)碼被解釋器解釋執(zhí)行。
不同平臺識別的機器指令格式是不同的,因此編譯執(zhí)行的語言如C的代碼需要在對應(yīng)平臺的編譯器中編譯成對應(yīng)的機器指令才能執(zhí)行而想python這種編譯加解釋的語言,其被編譯成的字節(jié)碼文件是Python虛擬機的指令,只要此平臺安裝了Python虛擬機,該字節(jié)碼文件就能被執(zhí)行。

編譯與解釋的優(yōu)缺點?

一段程序編譯會浪費時間,并且移植到其他平臺上時還要進行重新編譯,但是其編譯后生成的可執(zhí)行文件運行速度快。
解釋型程序可跨平臺執(zhí)行,無需編譯,但因為是逐條解釋執(zhí)行所以運行速度不如編譯型程序。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容