一遍編譯
java 可以打成jar 包 放到任意的平台上去運行
B. c 一次編寫到處編譯什麼意思
意思就是:
只要寫好代碼,在不同系統和開發環境中,都可以編譯,編譯的代碼都可以正常運行。這就是代碼的可移植性,也就是一次編寫到處編譯的意思。
C. 編譯程序是什麼意思編譯是什麼意思
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。
解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。
(3)一遍編譯擴展閱讀:
結構:
編譯過程分為分析和綜合兩個部分,並進一步劃分為詞法分析、語法分析、語義分析、代碼優化、存儲分配和代碼生成等六個相繼的邏輯步驟。這六個步驟只表示編譯程序各部分之間的邏輯聯系,而不是時間關系。
編譯過程既可以按照這六個邏輯步驟順序地執行,也可以按照平行互鎖方式去執行。在確定編譯程序的具體結構時,常常分若干遍實現。對於源程序或中間語言程序,從頭到尾掃視一次並實現所規定的工作稱作一遍。每一遍可以完成一個或相連幾個邏輯步驟的工作。
可以把詞法分析作為第一遍;語法分析和語義分析作為第二遍;代碼優化和存儲分配作為第三遍;代碼生成作為第四遍。反之,為了適應較小的存儲空間或提高目標程序質量,也可以把一個邏輯步驟的工作分為幾遍去執行。
D. 用C語言對一個C語言的子集編制一個一遍的編譯程序
呵呵,你們一個學期的作業還來只有30分
E. 為什麼我每次編譯都是全部重新編譯
這里以 C 語言源程序為例,關於多個 C 語言源程序之間的編譯順序問題,這個是需要在 MAKEFILE 文本文件中寫好多個 C 語言源程序的先後順序,如果多個 C 語言源程序的先後順序寫得不正確,那麼在使用 make 命令對 MAKEFILE 做相關的編譯、鏈接工作時,就會把所有的 C 源程序都重新編譯一遍(按理說:MAKEFILE 的最大好處就是:如果整個軟體系統由多個 C 源程序組成,但是只有其中一個 C 源程序的代碼做了改動,而其他的源代碼沒有做過任何改動,那麼只需要編譯這一個 C 源程序的目標文件,然後再和別的 C 源程序的目標文件相鏈接,生成最終的可執行文件即可,而不需要整個都重新編譯一遍)
你再仔細把你的 MAKEFILE 文件中的各個 C 源程序的先後次序檢查一下,看看是否寫得有錯誤。寫 MAKEFILE 文件也是需要仔細推敲的。
F. JAVA一次編譯,處處運行原理(考試用的)
核心是java一次編譯的結果是生成一種java虛擬機可以執行的.class文件。而只要裝有java虛擬機的電腦就可以跑.class文件。基本上所有的操作系統都有它支持的java虛擬機,所以JAVA一次編譯,處處運行。
G. 哪些特性使得「一次編譯,到處運行」成為可能
虛擬機和位元組碼
標准API庫。
首先程序不能處處運行的原因在兩處,一個是CPU,一個是系統。CPU因為機器碼不同的緣故,導致無法通用,解決辦法,自己製作虛擬機,虛擬機運行位元組碼的方式,位元組碼可以認為是虛擬機的機器碼(.net的虛擬機叫運行時其實道理一樣)。。。如果編譯成位元組碼,那麼就能在虛擬機上運行,不管他是什麼CPU,只要有運行位元組碼的虛擬機就OK。。。。
系統問題,系統不同系統內核和API不同,解決辦法,標准API庫,不同的系統的內核對象其實大致原理和功能相似只是實現不同,將API標准化為比如java API等等,問題被解決。。
但「一次編譯,到處運行」只是個理想,幾乎從來沒有真正這么用過,。最主要還是API標准化幾乎讓這種事成為不可能。。。最簡單的比如用手機打電話的功能,移植到PC上,PC根本沒有這個功能,當然這是個極端的例子,到什麼地方做什麼事,統一根本無意義,只會帶來兼容性麻煩。。。
H. Java的「一次編譯到處運行」
JAVA的跨平台是有條件的!
就是在各個平台必須安裝有JAVA運行的支持環境(Sun
Java
Runtime
Environment
)。
JAVA編譯的結果是一種中間碼,需要運行環境解釋並執行。
而EXE生成的是最終二進制代碼,只適合於某個特定的平台。
一般的開發都是在WINDOWS環境下,如果拿到LINUX之類的平台下顯然不支持。
而現在的操作系統好象沒有不支持JAVA的。
I. java的『一次編譯隨處運行』是什麼意思
說明了java的跨平台性,只要有java虛擬機的地方就可以運行java程序
J. 如何理解Java「一次編譯到處運行」的特性
簡單地說Java的跨平台性就是指,編譯後的Java程序可直接在不同的平台上運行而不用重新編譯,這一特性使得Java隨著Web應用的普及而迅速普及起來。而Java的跨平台性是如何實現的呢?這就要理解Java虛擬機和位元組碼的概念。
實際上,編譯後的Java代碼並不是傳統的二進制代碼(如Windows下的.exe文件),而是Java位元組碼,這種位元組碼文件是不能直接在操作系統上執行的。要想在一個操作系統上運行一個Java程序必須有一個中間環節來負責將Java位元組碼解釋成二進制碼,這個中間環節就是Java虛擬機(簡稱JVM)。由於目前大多數操作系統已經實現了JVM,所以Java輕松實現跨平台性。
這是之前我在黑馬程序員培訓Java時候,老師講解的,感覺老師講的很好,分享給你,你要是學Java,推薦系統學習,去黑馬程序員。