摘要: C语言没有像Java那样的try catch处理异常错误的能力,不过可以用setjmp和longjmp两个函数实现错误处理的基本逻辑。setjmp(BUFFER)会将程序当前的寄存器状态保存到BUFFER数组里,这个数组用jmp_buf定义:#include <setjmp.h> jmp_buf BUFFER;longjmp(BUFFER, n)将程序流跳到setjmp的位置,同时恢复BUFFER中保存的状态。第二个参数n为一个整数,当通过longjmp(BUFFER, n)跳转到setjmp位置时,setjmp函数的返回值为n;否则,如果是直接执行setjmp,则返回为零。根据这 阅读全文
posted @ 2012-01-14 19:54 windtail 阅读(850) 评论(0) 推荐(0) 编辑