高階語言?編譯程式?解釋程式?目的碼?
阿新 • • 發佈:2018-11-10
編譯程式?解釋程式?
編譯程式解釋程式啥作用?將高階語言翻譯成可以目的碼,使得目的碼可以在機器上執行
高階語言?
作為一門高階語言,javascript肯定不能是在電腦上直接執行的,肯定有javascript這門高階語言的編譯/解釋程式,編譯/解釋程式負責將高階語言轉換為對應平臺的目的碼,從而讓高階語言可以在這個平臺上執行
javascript是一門解釋性語言,他的解釋程式比較特殊是瀏覽器,瀏覽器作為javascript的解釋程式,負責將javascript轉換成對應平臺所支援的目的碼,從而javascript能在平臺上執行
(1)縱觀高階語言幾乎都是經過這種泛泛的編譯/解釋程式才在平臺上執行的
拿c++/c這門高階語言舉例,這門高階語言是一門編譯性語言,如果想在平臺上執行,只需要對應平臺上這門語言的編譯程式即可,(gcc/g++)
拿javascript這門高階語言舉例,這門高階語言是一門解釋性語言,如果想在平臺上執行,只需要對應平臺上這門語言的解釋程式即可(瀏覽器)
拿java這門高階語言舉例,這門高階語言是一門先編譯後解釋的語言,如果想在平臺上執行,只需要對應平臺上這門語言的解釋和編譯程式即可(java和javac)(java之所以是跨平臺的,那是因為他原始碼編譯之後的中間程式碼是一種與平臺無關的位元組碼檔案,java在各種平臺上都有對應的解釋程式能夠將java的位元組碼檔案解釋成可以執行在對應平臺上的目的碼)
(2)那麼編譯程式和解釋程式最終都是把高階語言轉換成可以直接執行在對應平臺上的目的碼,這兩個程式有什麼區別嗎?
編譯程式快,所以c/c++比較快
解釋程式慢,所以java好慢的哦,