运行时和编译时
在这篇文章中,我们将讨论术语运行时(Runtime)和编译时(Compile time)。
编译时(Compile time)
编译时指将源代码转换为计算机可识别的二进制代码的这段时间。它开始于翻译程序开始翻译源代码,结束于源代码翻译完毕。
“编译时错误”即在翻译过程中由翻译程序发现的源代码错误(比如语法错误)。
编译时错误包括:
- 语法错误
- 类型检查错误
- 编译器崩溃(很少发生)
编译时顺利(编译成功)说明:
- 这个程序的源代码格式正确。
- 可以开始运行该程序(可能运行失败,但至少可以尝试运行)。
输入和输出:
- 输入:尝试进行编译的源程序,包括它的任何头文件、接口、库或其他导入的内容。
- 输出:可能是汇编代码或可重定位的目标代码,甚至是可执行程序,也可能因出错而输出错误信息,即遇见编译时错误。
运行时(Runtime)
运行时指程序运行的时间段。它开始于程序被打开(或执行),结束于程序退出或关闭。
“运行时错误”即在程序运行时发生的错误(比如数组越界访问)。
运行时错误包括:
- 除以零
- 访问空指针所指向的内容
- 内存不足
- 程序本身检测到的错误:
- 试图打开一个不存在的文件
- 试图获得一个网页,但发现网址格式错误
- ...
运行时正常说明:
- 程序将正确结束(或继续运行)而不会崩溃。
输入和输出:
- 完全由程序使用者及程序员决定。文件、屏幕上的窗口、网络数据包、发送到打印机的信息等等。
参考
Runtime vs. Compile time - Stack Overflow
Runtime Definition
延伸阅读
什么叫编译时和运行时