當前位置:首頁 » 編程軟體 » 編譯期

編譯期

發布時間: 2022-01-09 07:37:21

① 如何理解編譯期和運行期的概念

編譯執行是把源代碼進行詞法、語法分析,生成目的代碼後,再執行解釋執行是把源代碼分段(也可能是一條語句)讀入內存執行,然後再讀入下一條語句編譯執行,經過第一次編譯後,再執行效率比較高解釋執行,每次執行效率應該相同,或者說相差無幾

② 請問java中的編譯期和運行期有什麼區別

編譯時是調用檢查你的源程序是否有語法錯誤,如果沒有就將其翻譯成位元組碼文件。即.class文件。
運行時是java虛擬機解釋執行位元組碼文件。

③ java中編譯期常量所指的是什麼

classInitalizedClass{
static{
System.out.println("!");
}
publicstaticintinititalize_varible=1;

}

{
publicstaticvoidmain(String[]args){
System.out.println(InitalizedClass.inititalize_varible);

}

}
上面的結果是:
!
1

classInitalizedClass{
static{
System.out.println("!");
}
//和上面的例子唯一的差異就是此處的變數INITIALIZED_VARIBLE被聲明為final
_VARIBLE=1;

}

{
publicstaticvoidmain(String[]args){
System.out.println(InitalizedClass.INITIALIZED_VARIBLE);

}

}

上面的結果是:
1

為什麼兩個例子執行結果不一樣,原因是第二個例子中的INITIALIZED_VARIBLE為編譯期常量,它不會導致類的初始化的

④ 什麼叫編碼期,編譯期,運行期在各個期間都做了什麼

編碼期就是編寫代碼,代碼這時為文本狀態,編譯期即將文本代碼轉換為中間碼的過程,運行期就是執行程序。

⑤ 什麼是編譯時和運行時

編譯出錯差不多就是語法不對,比如你寫Stringstr='str';這么寫語法不對編譯就會出錯。運行出錯是指語法沒問題但是邏輯有問題,比如一個方法傳進一個String類型的變數str,方法體中有類似於str.equals("str");的語句,但是傳進的str是個null,那麼那一句就相當於null.equals("str");這肯定會拋空指針異常。用手機做例子,編譯出錯就是手機在生產的時候零件不對,那就肯定不能出廠。運行出錯就是手機組裝完出廠了,到手了你沒用來打電話,直接拿來砸核桃了,那手機肯定報廢(NOKIA除外)。

⑥ java中在編譯期就被確定是什麼意思

我的理解是:編譯器運行的東東是代碼是否否何規范,類似於你寫個void寫錯了寫成vod這時編譯器就會報錯提醒你;
而運行期運行的就是代碼的邏輯關系了,比如說你使用一個數組,未對他進行初始化分配空間,運行時就會出現空指針異常。
理解的較淺,不知能否幫到你。

⑦ 程序的編譯期,鏈接期, 運行期各執行哪些操作

參考一下:

源文件的編譯過程包含兩個主要階段,而它們之間的轉換是自動的。第一個階段是預處理階段,在正式的編譯階段之前進行。預處理階段將根據已放置在文件中的預處理指令來修改源文件的內容。#include指令就是一個預處理指令,它把頭文件的內容添加到.cpp文件中還有其他許多預處理指令
這個在編譯之前修改源文件的方式提供了很大的靈活性,以適應不同的計算機和操作系統環境的限制。一個環境需要的代碼跟另一個環境所需的代碼可能有所不同,因為可用的硬體或操作系統是不同的。在許多情況下,可以把用於不同環境的代碼放在同一個文件中,再在預處理階段修改代碼,使之適應當前的環境。
預處理器顯示為一個獨立的操作,但一般不能獨立於編譯器來執行這個操作。調用編譯器會自動執行預處理過程,之後才編譯代碼。
編譯器為給定源文件輸出的是機器碼,執行這個過程需要較長時間。在對象文件之間並沒有建立任何連接。對應於某個源文件的對象文件包含在其他源文件中定義的函數引用或其他指定項的引用,而這些函數或項仍沒有被解析。同樣,也沒有建立同庫函數的鏈接。實際上,這些函數的代碼並不是文件的一部分。這些工作是由鏈接程序(有時稱為鏈接編輯器)完成的
鏈接程序把所有對象文件中的機器碼組合在一起,並解析它們之間的交叉引用。它還集成了對象模塊所使用的庫函數的代碼。這是鏈接程序的一種簡化表示,因為這里假定在可執行模塊中,模塊之間的所有鏈接都是靜態建立的。實際上有些鏈接是動態的,即這些鏈接是在程序執行時建立的。

鏈接程序靜態地建立函數之間的鏈接,即在程序執行之前建立組成程序的源文件中所包含的函數鏈接。動態建立的函數之間的鏈接(在程序執行過程中建立的鏈接)將函數編譯並鏈接起來,創建另一種可執行模塊—— 動態鏈接庫或共享庫。動態鏈接庫中的函數鏈接是在程序調用函數時才建立的,在程序調用之前,該鏈接是不存在的。

動態鏈接庫有幾個重要的優點。一個主要的優點是動態鏈接庫中的函數可以在幾個並行執行的程序之間共享,這將節省相同函數佔用的內存空間。另一個優點是動態鏈接庫在調用其中的函數之前是不會載入到內存中的。也就是說,如果不使用給定動態鏈接庫中的函數,該動態鏈接庫就不會佔用內存空間

⑧ 編譯日期是什麼

—TIME__ 和__DATE__

⑨ 編譯時間

用一個名字叫C timing的軟體!
是英文的!
不過你應該能理解!
如果你不動英語!
給我發信息,我告訴你那些用法!

⑩ Java代碼的編譯期綁定和運行期綁定是什麼意思

如果打包成jar的話很好如果是exe的話就有點麻煩了可參考:想要把java生成可執行文件需要第三方軟體的支持,不過在沒有安裝JDK的機器上是不可能運行JAVA程序的,哪怕是編譯成為exe文件。將Java應用程序本地編譯為EXE的幾種方法(推薦使用JOVE和JET)1.從獲得一個TowerJ編譯器,該編譯器可以將你的CLASS文件編譯成EXE文件。2.利用微軟的SDK-Java4.0所提供的jexegen.exe創建EXE文件,這個軟體可以從微軟的網站免費下載,地址如下:7.Instantiations公司的JOVE/jove/ejovesystem.htmJOVE公司合並了以前的SuperCede,一個優秀的本地編譯器,現在SuperCede已經不復存在了。8.JToEXEBravoZuluConsulting,Inc開發的一款本地編譯器,本來可以從該公司的網頁上免費下載的,不過目前在該公司的主頁上找不到了。

熱點內容
如何修改河北高考志願密碼 發布:2024-09-21 05:46:48 瀏覽:676
副武器腳本 發布:2024-09-21 05:37:30 瀏覽:127
隱藏頻道密碼是多少 發布:2024-09-21 05:32:21 瀏覽:121
觸動精靈腳本製作教程 發布:2024-09-21 05:13:14 瀏覽:400
自己編譯autojs 發布:2024-09-21 05:09:40 瀏覽:358
我的世界電腦版無政府伺服器 發布:2024-09-21 04:55:36 瀏覽:836
時間伺服器和筆記本電腦同步 發布:2024-09-21 04:48:04 瀏覽:762
無許可權訪問工作組的計算機 發布:2024-09-21 04:26:31 瀏覽:476
為什麼ipad需要密碼解鎖 發布:2024-09-21 04:06:22 瀏覽:211
mariadb存儲過程 發布:2024-09-21 03:56:05 瀏覽:515