博客
关于我
c语言中的setjmp和longjmp简介
阅读量:367 次
发布时间:2019-03-04

本文共 870 字,大约阅读时间需要 2 分钟。

setjmp???????????????????longjmp????????setjmp???????????????jump_buf????????????longjmp?????setjmp????????

?????setjmp????????null?????setjmp????????????????????????setjmp???????longjmp?????????????????????????????setjmp?????longjmp????????????setjmp?????????????????????

???????setjmp???????????????if?switch?while?????????????????????????????

???????setjmp?longjmp????

#include 
#include
static jmp_buf jump_buffer;
noreturn void a(int count) {
("a(%d) called\n", count);
longjmp(jump_buffer, count + 1);
}
int main(void) {
volatile int count = 0;
if (setjmp(jump_buffer) != 9) {
a(count++);
}
}

???????setjmp?????????????setjmp?????9?????????a???count?????a????longjmp??????????????setjmp????????????

???????

a(0) called
a(1) called
a(2) called
a(3) called
a(4) called
a(5) called
a(6) called
a(7) called
a(8) called

转载地址:http://pabg.baihongyu.com/

你可能感兴趣的文章
NFS共享文件系统搭建
查看>>
nfs复习
查看>>
NFS安装配置
查看>>
NFS的安装以及windows/linux挂载linux网络文件系统NFS
查看>>
NFS的常用挂载参数
查看>>
NFS网络文件系统
查看>>
nft文件传输_利用remoting实现文件传输-.NET教程,远程及网络应用
查看>>
NFV商用可行新华三vBRAS方案实践验证
查看>>
ng build --aot --prod生成文件报错
查看>>
ng 指令的自定义、使用
查看>>
nghttp3使用指南
查看>>
Nginx
查看>>
nginx + etcd 动态负载均衡实践(三)—— 基于nginx-upsync-module实现
查看>>
nginx + etcd 动态负载均衡实践(二)—— 组件安装
查看>>
nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
查看>>
Nginx + Spring Boot 实现负载均衡
查看>>
Nginx + uWSGI + Flask + Vhost
查看>>
Nginx - Header详解
查看>>
Nginx - 反向代理、负载均衡、动静分离、底层原理(案例实战分析)
查看>>
nginx 1.24.0 安装nginx最新稳定版
查看>>