㈠ 編譯運行編譯運行,有什麼區別
編譯:
包括編譯和鏈接兩個過程。
編譯部分,是把源文件(代碼)轉換成機器可以識別的二進制語言,這個過程是針對每一個源文件的。
鏈接,是把編譯生成的二進制文件,組合成為一個系統可以執行的可執行文件。
這兩部分整體也叫編譯。也就是說,廣義的編譯,就是把代碼,轉換成可執行文件。
運行:
把編譯出來的可執行文件,在系統中運行的過程,稱為程序的運行。
打個比方,編譯就是做飯的過程,而運行,就是吃飯。二者是完全不同的概念,是計算機軟體開發的兩個步驟。
㈡ 編譯錯誤和運行時異常怎麼區分
編譯錯誤 一般都是語法錯誤
運行時錯誤一般都是比如數組索引指向空值 4/0 這類錯誤
請參考
㈢ 什麼是編譯時和運行時
編譯出錯差不多就是語法不對,比如你寫Stringstr='str';這么寫語法不對編譯就會出錯。運行出錯是指語法沒問題但是邏輯有問題,比如一個方法傳進一個String類型的變數str,方法體中有類似於str.equals("str");的語句,但是傳進的str是個null,那麼那一句就相當於null.equals("str");這肯定會拋空指針異常。用手機做例子,編譯出錯就是手機在生產的時候零件不對,那就肯定不能出廠。運行出錯就是手機組裝完出廠了,到手了你沒用來打電話,直接拿來砸核桃了,那手機肯定報廢(NOKIA除外)。
㈣ 求教java編譯與運行的區別。
編譯只是編譯成了位元組碼,就是可執行的.class文件
運行時識別,主要是java的RTTI(運行時類型識別)機制和反射機制,而兩者之間的區別在於:
」對RTTI來說,編譯器在編譯期打開和檢查.class文件。(換句話說,我們可以用「普通」的方式調用一個對象的所有方法。),而對於反射機制來說,.class文件在編譯期是不可獲取的,所以是在運行期打開和檢查.class文件。「
但是同樣的,反射也需要載入這個類的Class對象,所以那個類的class對象對於jvm必須是可取的的,比如在本地機器上,或者通過網路取得,比如取得一串位元組串。
具體的內容可以參考《Thinking in java》的」類型識別「那一章,講的比較詳細的
㈤ 編譯和運行有何區別>>>>>>>>>>>>>
編譯也就是計算機將你編寫的程序,編譯(也就是翻譯)成計算機可以識別的語言,而運行,就是說要執行你所編寫的這個程序,實現一定的功能,通常我們電腦上的軟體打開都可以叫做運行
㈥ 請問運行時分配內存和編譯時分配內存有什麼區別
一。運行時分配內存
既然是運行時分配內存,首先這個一定是動態的內存。。那麼它的作用是什麼呢,它的主要應用場所就是在
事先並不知道要多少內存來存儲我們想要存的東西,比如說
偶們現在想要用內存來保存中國深圳的人口相關信息,但是這個城市有多少人呢,這個數字是不確定的隨時都是在變的,這個時候就不可能定義一個固定大小的數組來保存了,這樣就需要動態內存了,來一個就加一個,少一個就減一個多好用,是不。。嘿嘿
二。編譯時候分配的內存。。當然就是事先偶知道要多大的內存。所以就先申請固定大小的內存嘍。這個就是在編譯時候就會分配內存
三。動態的內存一經申請,只要沒有人為的釋放掉它,那麼它會一直存在,直到程序運行結束,才會被釋放。
四。。動態內存會在進程結束的時候自動釋放的。。嘿嘿。。進程都沒有了,那麼內存何在
是不。。瓶子破了,水當然會溜走,想留下也不行啊
回復libujuan
㈦ C++中什麼是編譯時,什麼是運行時,二者有何區別
意思和區別如下:
1、編譯:依賴於編譯器,英文是compile, vc中這一過程是將源代碼轉換成目標文件,如.obj文件,.rc文件等。
2、生成:指的是鏈接的過程,英文是build.依賴於鏈接器. vc中在這一階段將所有的目標文件和所有需要用到的組件組合成一個整體,例如需要生成的是windows系統下的PE可執行文件,鏈接器會依照特定格式將目標文件組合,最後生成PE格式的.exe或.dll文件。
3、調試:是所有或部分代碼編寫完成後,讓程序在調試器中運行,用這種手段對程序進行分析,找出並修正潛在問題。
4、運行:就是讓程序在系統中運行。
㈧ Vue.js 2.0 獨立構建和運行時構建的區別
Vue.js 的運行過程實際上包含兩步。
第一步,將字元串模板(template)編譯為渲染函數(render),稱之為編譯過程;
第二步,運行時實際調用編譯的渲染函數,稱之為運行過程。
由於 Vue.js 1.0 的編譯過程需要依賴瀏覽器的 DOM,所以無法(或者說沒有意義)將編譯器和運行時分開。因此在 Vue.js 1.0 分發包中,編譯器和運行時是打包在一起,都在瀏覽器端執行。
㈨ 1. 編譯時的多態性與運行時的多態性有什麼區別,他們的實現方法有什麼不同
多態從實現的角度可以劃為兩類:編譯時多態和運行時多態。
編譯時的多態性:就是在程序編譯的時候,也就是生成解決方案的時候就決定要實現什麼操作。
運行時的多態性:就是指直到系統運行時,才根據實際情況決定實現何種操作。
1、多態實現形式不同:
編譯時的多態是通過靜態連編來實現的;運行時的多態是用動態連編來實現的。
2、多態性通過方式不同:
編譯時的多態性主要是通過函數重載和運算符重載來實現的;運行時的多態性主要是通過虛函數來實現的。
(9)js編譯時和運行時的區別擴展閱讀:
靜態多態性又稱編譯時的多態性。靜態多態性的函數調用速度快、效率高但缺乏靈活性,在程序運行前就應決定執行的函數和方法。
動態多態性的特點是:不在編譯時確定調用的是哪個函數,而是在程序運行過程中才動態地確定操作所針對的對象。又稱運行時的多態性。動態多態性是通過虛函數(virtual function)實現的。
㈩ 請問java中的編譯期和運行期有什麼區別
編譯時是調用檢查你的源程序是否有語法錯誤,如果沒有就將其翻譯成位元組碼文件。即.class文件。
運行時是java虛擬機解釋執行位元組碼文件。