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

本文共 852 字,大约阅读时间需要 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) calleda(1) calleda(2) calleda(3) calleda(4) calleda(5) calleda(6) calleda(7) calleda(8) called

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

你可能感兴趣的文章
ntpdate 通过外网同步时间
查看>>
ntpdate同步配置文件调整详解
查看>>
NTPD使用/etc/ntp.conf配置时钟同步详解
查看>>
NTP及Chrony时间同步服务设置
查看>>
NTP服务器
查看>>
NTP配置
查看>>
NUC1077 Humble Numbers【数学计算+打表】
查看>>
NuGet Gallery 开源项目快速入门指南
查看>>
NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
查看>>
nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
查看>>
Nuget~管理自己的包包
查看>>
NuGet学习笔记001---了解使用NuGet给net快速获取引用
查看>>
nullnullHuge Pages
查看>>
NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
查看>>
null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
查看>>
Number Sequence(kmp算法)
查看>>
Numix Core 开源项目教程
查看>>
numpy
查看>>
Numpy 入门
查看>>
NumPy 库详细介绍-ChatGPT4o作答
查看>>