编程中的运行时错误、调试与优化
在编程过程中,我们常常会遇到各种问题,运行时错误就是其中之一。运行时错误通常是比较容易修复的,下面我们来详细了解一下。
运行时错误类型
运行时错误有多种类型,常见的有以下几种:
- 段错误(Segmentation Violation) :该错误表明程序试图解引用一个包含无效值的指针。
- 栈溢出(Stack Overflow) :程序试图使用过多的临时变量。有时是因为程序过大或使用了太多大的临时数组,但大多数情况下是由于无限递归问题导致的。几乎所有的 UNIX 系统都会自动检查此错误,而 Turbo C++ 和 Borland C++ 只有在使用编译时选项 -N 时才会检查栈溢出。
- 除零错误(Divide by 0) :这是一个明显的错误。在 UNIX 系统中,整数除零错误会以“Floating exception (core dumped)”的错误消息报告。
这些错误都会导致程序执行停止。在 UNIX 系统中,会生成一个运行程序的映像,即核心文件(core file)。
运行时错误存在一个问题,当错误发生时,程序会立即停止执行,缓冲文件的缓冲区不会被刷新,这可能会带来一些意外情况。例如下面的代码:
#include <stdio.h>
int main()
{
int i,j; /* two random integers */
i = 1;
j = 0;
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



