編譯程序編譯後是什麼語言
A. 編譯型語言和解釋型語言的區別
編譯型語言在程序執行之前,有一個單獨的編譯過程,將程序翻譯成機器語言就不用再進行翻譯了。
解釋型語言,是在運行的時候將程序翻譯成機器語言,所以運行速度相對於編C/C++ 等都是編譯型語言,而Java,C#等都是解釋型語言。
雖然Java程序在運行之前也有一個編譯過程,但是並不是將程序編譯成機器語言,而是將它編譯成位元組碼(可以理解為一個中間語言)。
在運行的時候,由JVM將位元組碼再翻譯成機器語言。
註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。
編譯型語言:
編譯型語言最大的優勢之一就是其執行速度。用C/C++編寫的程序運行速度要比用Java編寫的相同程序快30%-70%。
編譯型程序比解釋型程序消耗的內存更少。
不利的一面——編譯器比解釋器要難寫得多。
編譯器在調試程序時提供不了多少幫助——有多少次在你的C語言代碼中遇到一個「空指針異常」時,需要花費好幾個小時來明確錯誤到底在代碼中的什麼位置。
可執行的編譯型代碼要比相同的解釋型代碼大許多。例如,C/C++的.exe文件要比同樣功能的Java的.class文件大很多。
編譯型程序是面向特定平台的因而是平台依賴的。
編譯型程序不支持代碼中實現安全性——例如,一個編譯型的程序可以訪問內存的任何區域,並且可以對你的PC做它想做的任何事情(大部分病毒是使用編譯型語言編寫的)
由於鬆散的安全性和平台依賴性,編譯型語言不太適合開發網際網路或者基於Web的應用。
解釋型語言提供了極佳的調試支持。一名Java程序員只需要幾分鍾就可以定位並修復一個「空指針異常」,因為Java運行環境不僅指明了異常的性質,而且給出了異常發生位置具體的行號和函數調用順序(著名的堆棧跟蹤信息)。這樣的便利是編譯型語言所無法提供的。
另一個優勢是解釋器比編譯器容易實現
解釋型語言最大的優勢之一是其平台獨立性
解釋型語言也可以保證高度的安全性——這是互聯網應用迫切需要的
中間語言代碼的大小比編譯型可執行代碼小很多
平台獨立性,以及嚴密的安全性是使解釋型語言成為適合互聯網和Web應用的理想語言的2個最重要的因素。
解釋型語言存在一些嚴重的缺點。解釋型應用佔用更多的內存和CPU資源。這是由於,為了運行解釋型語言編寫的程序,相關的解釋器必須首先運行。解釋器是復雜的,智能的,大量消耗資源的程序並且它們會佔用很多CPU周期和內存。
由於解釋型應用的decode-fetch-execute(解碼-抓取-執行)的周期,它們比編譯型程序慢很多。
解釋器也會做很多代碼優化,運行時安全性檢查;這些額外的步驟佔用了更多的資源並進一步降低了應用的運行速度。
解釋型語言:
B. 易語言做的程序編譯後是屬於什麼語言
編寫後的程序還是易語言,只是一些破解版的易語言自動為其加了外殼。但它確實是易語言的代碼。易語言也可以說是在C的基礎上強化,所以也可以說它編譯出來的軟體是C