執行時和編譯時
阿新 • • 發佈:2021-12-24
在這篇文章中,我們將討論術語執行時(Runtime)和編譯時(Compile time)。
編譯時(Compile time)
編譯時指將原始碼轉換為計算機可識別的二進位制程式碼的這段時間。它開始於翻譯程式開始翻譯原始碼,結束於原始碼翻譯完畢。
“編譯時錯誤”即在翻譯過程中由翻譯程式發現的原始碼錯誤(比如語法錯誤)。
編譯時錯誤包括:
- 語法錯誤
- 型別檢查錯誤
- 編譯器崩潰(很少發生)
編譯時順利(編譯成功)說明:
- 這個程式的原始碼格式正確。
- 可以開始執行該程式(可能執行失敗,但至少可以嘗試執行)。
輸入和輸出:
- 輸入:嘗試進行編譯的源程式,包括它的任何標頭檔案、介面、庫或其他匯入的內容。
- 輸出:可能是彙編程式碼或可重定位的目的碼,甚至是可執行程式,也可能因出錯而輸出錯誤資訊,即遇見編譯時錯誤。
執行時(Runtime)
執行時指程式執行的時間段。它開始於程式被開啟(或執行),結束於程式退出或關閉。
“執行時錯誤”即在程式執行時發生的錯誤(比如陣列越界訪問)。
執行時錯誤包括:
- 除以零
- 訪問空指標所指向的內容
- 記憶體不足
- 程式本身檢測到的錯誤:
- 試圖開啟一個不存在的檔案
- 試圖獲得一個網頁,但發現網址格式錯誤
- ...
執行時正常說明:
- 程式將正確結束(或繼續執行)而不會崩潰。
輸入和輸出:
- 完全由程式使用者及程式設計師決定。檔案、螢幕上的視窗、網路資料包、傳送到印表機的資訊等等。
參考
Runtime vs. Compile time - Stack Overflow