C语言函数库详解(收藏)(9)

2021-01-20 19:18

C语言函数库详解(收藏)

longjmp宏时用env变量进行跳转。程序会自动跳转到setjmp宏的返回语句处,此时setjmp的返回值为非0,由longjmp的第二个参数指定。

下面通过例子来理解<setjmp.h>中定义的这两个宏。 例程9-1 非局部跳转演示。 #include <setjmp.h>

jmp_buf env; /*定义jmp_buf类型变量*/ int main(void) {

int value;

value = setjmp(env); /*调用setjmp,为longjmp设置跳转点*/ if (value != 0) {

printf("Longjmp with value %d\n", value); exit(value); /*退出程序*/ }

printf("Jump ... \n");

longjmp(env,1); /*跳转到setjmp语句处 return 0; }

本例程先应用setjmp宏为longjmpsetjmp时返回值为0,中。当程序执行到longjmp时,系统会根据setjmp保存下来的状态envlongjmp的第二个参数设置此时setjmp Jump ...

Longjmp with value 1

一般地,宏和longjmp数中返回。

头文件

在中只定义了两个函数: int signal(int sig, sigfun fname); 和

int raise(int sig);

signal函数的作用是设置某一信号的对应动作。其中参数sig用来指定哪一个信号被设置处理函数。在标准C 中支持的信号如下表。 标准C支持的信号

取值, 说明, 默认执行动作, 使用的操作系统 SIGABRT, 异常中止, 中止程序, UNIX DOS SIGPPE, 算术运算错误, 中止程序, UNIX DOS


C语言函数库详解(收藏)(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年最新互联网+时代企业的战略转型升级整体方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: