1. 什么是編譯時和運行時
編譯時和運行時是軟件開發里面用于描述兩個不同的軟件開發階段。開發一個程序,程序員首先需要寫源代碼(Source Code) ,來完成程序的功能。小程序只需要幾百行源代碼,大程序可能包含成百上千的代碼。源代碼需要被編譯成機器可以識別的程序,這個編譯過程被稱為編譯時。用戶可以運行編譯過的程序,程序運行的過程被稱為運行時。
2. 編譯時錯誤與運行時錯誤
-
編譯時錯誤
編譯時的錯誤一般指源代碼中存在的語法錯誤,類型檢查錯誤,編譯器崩潰(極少發生),通常編譯器會指出是源代碼中的哪一行出現了錯誤,編譯成功的程序才有可能被運行。
-
運行時錯誤
編譯成功的程序也可能在運行的過程中產生錯誤,可能是某些功能不好用,或者是一些常見的運行時錯誤比如除零,引用空指針,OOM等,這些錯誤被稱為運行時錯誤。
參考文獻:
What is the difference between runtime and compile time?
runtime-vs-compile-time@StackOverFlow