Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > setjmp与longjmp
【标  题】:setjmp与longjmp
【关键字】:setjmp,longjmp
【来  源】:http://www.cublog.cn/u/25334/showart.php?id=277637

setjmp与longjmp

Your Ad Here longjmp会回到setjmp处重新继续执行。                 


#include <setjmp.h>
#include <stdio.h>
#include <signal.h>

jmp_buf jmpbuf;
void sig_alrm(int signo);

int main()
{
    int i;
        
    if(signal(SIGALRM, sig_alrm) == SIG_ERR)
        perror("signal SIGALRM error!\n");
    setjmp(jmpbuf) ;
    alarm(3);
    for(i=0; i<5; i++)
    {
        printf("sleep %d\n", i+1);
        sleep(1);
    }
}

void sig_alrm(int signo)
{
    longjmp(jmpbuf, 1);
    return ;
} /* ----- end of function sig_alrm ----- */
                         

代码的执行结果是:
sleep 1
sleep 2
sleep 1
sleep 2
sleep 3
sleep 4
sleep 5

系统报ora-00600错误的解决方法:【上一篇】
学perl第五天,个人理解perl对比c的显著特点:【下一篇】
【相关文章】
  • c语言的setjmp和longjmp
  • 系统调用setjmp()和longjmp()
  • 一个使用setjmp/longjmp从信号中恢复的小例子
  • [转]setjmp与longjmp机制,很难与C++和睦相处
  • [转]全面了解setjmp与longjmp的使用
  • [转]玩转setjmp与longjmp
  • 【随机文章】
  • Video(http://www.enet.com.cn/article/2006/0704/A20060704124810.shtml)
  • javascript用回车键实现Tab键功能
  • python(14): 范围比较和print语句(8.2/8.3)
  • 悟空传-第三章
  • LINQ的震憾
  • Gaim 多个缓冲区溢出、系统执行任意指令安全漏洞
  • win2000下jsp平台搭建的简单过程
  • 我加入国内两大XX基地VIP会员遭遇的种种尴尬与后悔!
  • Java Web Framework有望减少混战,Java Web Alignment Group成立
  • 创建一个基于模板的数据库记录集操作类(三)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.