❶ 解釋語言和編譯語言有什麼區別可移植性是什麼意思
編譯型語言和解釋型語言的區別:
解釋性語言在運行程序的時候才翻譯,比如解釋性basic語言,專門有一個解釋器能夠直接執行basic程序,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以後要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高。
可移植性
軟體可移植性指與軟體從某一環境轉移到另一環境下的難易程度
❷ 什麼是編譯性語言、解釋性語言和腳本語言
編譯型語言:
編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率 較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的。編譯程序將源程序翻譯成目標程序後保存在另一個文件中,該目標程序可脫離編譯程序直接在計算機上多次運行。大多數軟體產品都是以目標程序形式發行給用戶的,不僅便於直接運行,同時又使他人難於盜用其中的技術C、C++、Fortran、Visual Foxpro、Pascal、Delphi、Ada都是編譯實現的。
解釋型語言:
解釋型語言的實現中,翻譯器並不產生目標機器代碼,而是產生易於執行的中間代碼,這種中間代碼與機器代碼是不同的,中間代碼的解釋是由軟體支持的,不能直接使用硬體,軟體解釋器通常會導致執行效率較低。用解釋型語言編寫的程序是由另一個可以理解中間代碼的解釋程序執行的。與編譯程序不同的是,解釋程序的任務是逐一將源程序的語句解釋成可執行的機器指令,不需要將源程序翻譯成目標代碼後再執行。釋程序的優點是當語句出現語法錯誤時,可以立即引起程序員注意,而程序員在程序開發期間就能進行校正。對於解釋型Basic語言,需要一個專門的解釋器解釋執行 Basic程序,每條語言只有在執行才被翻譯。這種解釋型語言每執行一次就翻譯一次,因而效率低下。一般地,動態語言都是解釋型的,如Tcl、Perl、Ruby、VBScript、 javaScript等。
腳本語言又被稱為擴建的語言,或者動態語言,是一種編程語言,用來控制軟體應用程序,腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯。
❸ 編譯型語言和解釋型語言各自的優缺點是什麼
一、編譯型語言
優點:運行速度快,代碼效率高,編譯後的程序不可修改,保密性較好。
缺點:代碼需要經過編譯方可運行,可移植性差,只能在兼容的操作系統上運行 。
二、解釋型語言
優點:可移植性較好,只要有解釋環境,可在不同的操作系統上運行。
缺點:運行需要解釋環境,運行起來比編譯的要慢,佔用資源也要多一些,代碼效率低,代碼修改後就可運行,不需要編譯過程。
(3)自研軟體編譯性語言需要重新編譯擴展閱讀:
編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成 為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等。而相對的,解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發布程序時,看起來省了道編譯工序。但是在運行程序的時候,解釋性語言必須先解釋再運行。
❹ c語言是編譯型語言嗎
當然!
c程序,編譯後才能運行
❺ 哪些屬於編譯型語言
屬於編譯型語言的是: C
屬於解釋型語言的是: php asp jsp
java具有編譯與解釋兩種特性:既可以將其源代碼當作腳本執行,也可以進行編譯成.class代碼(位元組碼)載入運行。
區別在於:
編譯型語言,通常都會對源代碼進行編譯,生成可以執行的二進制代碼,執行的是編譯後的結果。
解釋型語言,通常不用對源代碼進行編譯,一般是通過解釋器載入腳本後運行。由於每個語句都是執行的時候才進行解釋翻譯,這樣解釋性語言每次執行就要翻譯一次,效率相對要低。
至於難度,個人感覺 java 相對要更復雜些。
❻ 為什麼高級程序語言需要編譯程序
計算機語言是人與計算機之間交流的媒介,其種類非常多,但大體上分為機器語言、匯編語言、高級語言三大類。
計算機不能直接理解高級語言,只能直接理解機器語言,因此必須將高級語言翻譯成機器語言,翻譯的過程分為兩種,一種是解釋,一種是編譯。兩種方式的區別在於翻譯的時間,編譯是在程序運行之前,需要一個專門的過程,將程序編譯成為機器語言的文件,比如EXE文件,以後要運行的話就不用再重新編譯了,直接使用之前的編譯結果就行了,因為只翻譯一次,運行時不需要再翻譯,所以編譯型語言的程序執行效率高。
解釋性語言則不同,解釋性語言不需要編譯,其程序在運行時才翻譯,每個語句都是執行時才翻譯。這樣解釋性語言每執行一次就要翻譯一次,其執行效率則相對較低。
另外,編譯型語言以二進制形式保存,源代碼不可見;解釋性語言以代碼形式保存。
❼ 為什麼我每次編譯都是全部重新編譯
這里以 C 語言源程序為例,關於多個 C 語言源程序之間的編譯順序問題,這個是需要在 MAKEFILE 文本文件中寫好多個 C 語言源程序的先後順序,如果多個 C 語言源程序的先後順序寫得不正確,那麼在使用 make 命令對 MAKEFILE 做相關的編譯、鏈接工作時,就會把所有的 C 源程序都重新編譯一遍(按理說:MAKEFILE 的最大好處就是:如果整個軟體系統由多個 C 源程序組成,但是只有其中一個 C 源程序的代碼做了改動,而其他的源代碼沒有做過任何改動,那麼只需要編譯這一個 C 源程序的目標文件,然後再和別的 C 源程序的目標文件相鏈接,生成最終的可執行文件即可,而不需要整個都重新編譯一遍)
你再仔細把你的 MAKEFILE 文件中的各個 C 源程序的先後次序檢查一下,看看是否寫得有錯誤。寫 MAKEFILE 文件也是需要仔細推敲的。
❽ 語言編譯軟體按分類來看是屬於___
大體上,將程序設計語言分為兩類:編譯型語言和解釋型語言
編譯型語言:很多傳統的程序設計語言,如:C++、C等,這類語言需要預先將我們寫好的源代碼轉換成目標代碼,這個過程被稱作「編譯」。
解釋型語言:解釋型語言也稱作「腳本語言」,執行這類程序時,解釋器需要讀取我們編寫的源代碼,並將其轉換成目標代碼,再由計算機運行。
❾ 計算機語言中編譯性語言不能跨平台,那是不是想跨平台的話要重新寫源代碼,還是換一個編譯器
得看情況,如果是通用的程序,重新編譯就行。如果有調用API等,就要看情況改源代碼了。