1樓:匿名使用者
我自己理解的解釋執行的優點,不依賴於平臺,因為每次都會根據不同的平臺對語句進行解析,像js就是一種邊解釋邊執行的語言,不管是在windows還是unix都可以直接用解釋執行的缺點,解析是需要時間的,每次都解析在很多情況下都是相當於每次都在做重複功,這樣執行的效率比較低。儘可能的減少重複功,這也是現在為什麼很流行的快取的原因,但是解析執行這種方式就沒無法做到了編譯執行的優點,所謂的編譯執行就是先對程式設計進行編譯,生成乙個obj檔案,然後再拿來執行,它的優點恰巧就是解釋執行的缺點的反義,去除了每次都解析的問題編譯執行的缺點,也是恰巧是解釋執行優點的反義。就像c語言,你在windows下編譯的程式,拿到unix下執行,當然如果只是簡單的scanf,printf是可以的,但是像指標,記憶體分配,檔案操作,多執行緒等,在一些相對複雜的系統問題就嚴重了。
更可怕的是拿原始碼到unix環境下編譯通過了,但是執行卻出問題,這種問題最要人命。 所以一般的做法都是這個程式會用在什麼系統,就到什麼系統環境去開發。
c語言既可以編譯執行又可以解釋執行嗎? 編譯執行怎麼解釋? 解釋執行又怎麼解釋?
2樓:信必鑫服務平臺
c 語言程式僅可以解釋執行。
解釋程式是將源程式(如basic)作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。編譯程式是把高階語言(如fortran、cobol、pascal、c等)源程式作為輸入,進行翻譯轉換,產生出機器語言的目標程式,然後再讓計算機執行這個目標程式,得到計算結果。
相對於編譯性語言,其優點是可移植性好,只要有直譯器環境,程式就可以在不同的作業系統上執行。
缺點是**需要有專門的直譯器,在程式執行時,除要給使用者程式本身分配記憶體空間外,直譯器也佔用系統資源,所以其執行速度較慢。另外,也很難達到像c、c++那樣作業系統底層操作的目的。
解釋型語言常用於,一是對執行速度要求不高(如一些網頁尾本等)的場合,二是對跨平臺(作業系統的相容性)有要求的場合。
編譯型語言和解釋型語言各自的優缺點是什麼?
3樓:墨汁諾
一、編譯型語言。
優點:執行速度快,**效率高,編譯後的程式不可修改,保密性較好。
缺點:**需要經過編譯方可執行,可移植性差,只能在相容的作業系統上執行 。
二、解釋型語言。
優點:可移植性較好,只要有解釋環境,可在不同的作業系統上執行。
缺點:執行需要解釋環境,執行起來比編譯的要慢,佔用資源也要多一些,**效率低,**修改後就可執行,不需要編譯過程。
4樓:匿名使用者
解釋型語言就要開源,編譯型的就不用開源。
編譯型語言和解釋型語言各自的優缺點是什麼?
5樓:深空遊戲
編譯型語言的優缺點:執行效率高,缺點是跨平臺能力弱,不便除錯。解釋型解釋型語言:
解釋性語言編寫的程式不進行預先編譯,以文字方式儲存程式**。執行時才翻譯執行。程式每執行一次就要翻譯一遍。
解釋型語言存在一些嚴重的缺點。解釋型應用佔用更多的記憶體和cpu資源。這是由於,為了執行解釋型語言編寫的程式,相關的直譯器必須首先執行。
直譯器是複雜的,智慧型的,大量消耗資源的程式並且它們會佔用很多cpu週期和記憶體。
編譯型語言的源**有錯誤編譯不通過,無法生成可執行**,更無法執行程式;解釋型語言只有執行時才會判斷是否出錯,即使一句出錯,也可以繼續執行下一句。
編譯型語言一般是不能跨平臺的,也就是不能在不同的作業系統之間前扒隨意切換。對於解釋型語言,每次執行程式慧茄昌都需要一邊轉換一邊執行,用到哪些源**就將哪些源**轉換成機器碼,用不到的不進行任何處理。
解釋型語言,比如basic,這些都是將源程式直接提供給電腦,電腦按照語句順納判序執行,一邊翻譯一邊執行;編譯型是事先將源程式**經過加工、固定,形成可執行**,然後單獨執行的。
c語言既可以編譯執行又可以解釋執行嗎? 編譯執行怎麼解釋? 解釋執行又怎麼解釋?
6樓:網友
目前我知道的c語言只能編譯執行,就是先編譯成二進位的exe檔案才能執行。
指令碼語言才可以解釋執行。
7樓:網友
c語言程式只能編譯執行,不能解釋執行。
編譯執行,是你用c寫的程式**必須經編譯器編譯成作業系統可識別的可執行二進位檔案才能執行,例如c,c++等。
解釋執行,是指無需編譯,直譯器直接讀取原始檔然後解釋執行程式,例如shell,python等語言。
8樓:網友
以前在csdn上有牛人做過解釋執行,其原理就是把手工錄入的**自動通過編譯器進行編譯並執行,不過功能十分有限。
不過現在好像有專門的ide。給你個位址看看。
解釋語言和編譯語言有什麼不同
9樓:小贊愛傑希
高階語言所編制的程式不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可。
將它們分為兩類:
1.解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程式源**一邊由。
相應語言的直譯器「翻譯」成目標**(機器語言),一邊執行,因此效率比較低,而且不。
能生成可獨立執行的可執行檔案,應用程式不能脫離其直譯器,但這種方式比較靈活,可。
以動態地調整、修改應用程式,典型的解釋型的高階語言有basic。
2.編譯類:編譯是指在應用源程式執行之前,就將程式源**「翻譯」成目標**。
機器語言),因此其目標程式可以脫離其語言環境獨立執行,使用比較方便、效率較高。
但應用程式一旦需要修改,必須先修改源**,再重新編譯生成新的目標檔案(*.obj)才。
能執行,只有目標檔案而沒有源**,修改很不方便。現在大多數的程式語言都是編譯型。
的,例如visual c++、delphi等。
高階語言裡乙個程式的編譯和執行大概是 下面的情況:
編譯器將高階語言從源**翻譯成與之等價的目標程式(就相當於從中文翻譯成中文),而後就隱退了。在隨後的某個時刻,使用者啟動目標程式由作業系統執行。實現高階語言的另外一種方式為解釋:
與編譯不同的是,直譯器在目標程式(其實根本就沒有目標程式,只是與編譯來對比)執行期間,直譯器一直隨之執行。
這種執行過程完全由直譯器控制的。從效果上看,直譯器實現了一臺「虛擬計算機」,其「機器語言」就是高階語言,直譯器一次讀入一條或多條語句,按照其自身規定的方式去執行相應的操作。
一般說來,解釋比編譯有著很好的靈活性;編譯一般有著較好的效能。但是有些語言確是採用了兩者的混合形式:
書中的原文:」如果初始階段的翻譯器比較簡單,我們就說這個語言是「解釋的」。如果翻譯器很複雜,我們就說這一語言是「編譯的」。
現在兩者的區分變得有些模糊了,因為「簡單」和「複雜」都是修飾性術語,也因為完全可能出現用乙個編譯器(複雜的翻譯過程)生成**,而後又由乙個複雜的虛擬機器(直譯器)執行。對於最後這種情況,如果翻譯器對程式做了徹底的分析(而不是做某種「機械的」變換),而且有關的中間語言程式與源程式並沒有很強的相似性,我們還是說這個語言是編譯的。這兩種特性---徹底的分析和非平凡的變換---是刻畫編譯方式的標誌性特徵。「
10樓:猿學部落
分貨分享」編譯型語言和解釋型語言到底是啥?
執行的名言名句,關於執行力的名言警句有哪些
人生就好比打牌,我們不可能處處都能得到好牌,我們能做的就是將手裡的牌精心打下去,即使那手牌再差再糟糕,也應該努力打出自己的水平,只要我們盡心盡力去打,差牌未必就會輸。三流的點子加一流的執行力,永遠比一流的點子加三流的執行力更好。最好的ceo是構建他們的團隊來達成夢想,即便是麥可喬丹也需要隊友來一起...
強制執行被執行的生有生活保障嗎
強制執行被執老枝銀行的的人有生活保障的。最高人民法院關於人民法院民事執行中查侍宴封 扣押 凍結財產的規定 第六條 對被執行人及其所扶養家屬生活所必需的居搭廳住房屋,人民法院可以查封,但不得拍賣 變賣或者抵債。第七條 對於超過被執行人及其所扶養家屬生活所必需的房屋和生活用品,人民法院根據申請執行人的申...
潛水軸流幫浦執行標準?潛水幫浦的執行標準
jb t 中小型軸流潛水電幫浦 對於潛水幫浦的執行標準來說,還是需要花費一定的時間去 的。就目前國內市場而言,國家對於大部分的商品都是有著一些生產標準,在接下來的內容中,就以德能幫浦業生產的潛水幫浦為例,來對潛水幫浦的執行標準進行詳細的解析。根據潛水幫浦的用途不同,標準可劃分為三個方面,分別為產品標準 設計標準...