RISC-V平台libc里面的setjmp和longjmp实现
libc从版本2.0开始,增加了对setjmp和longjmp的支持,这2个函数是实现协程的核心函数。
我们来看一下RISC-V平台上这两个函数的底层是如何实现的。
libc源码:https://sourceware.org/git/?p=glibc.git;a=summary
git clone https://sourceware.org/git/glibc.git
setjmp/setjmp.h定义两个函数的原型
setjmp(jmp_buf __env);
longjmp(struct __jmp_buf env, int _val);
这两个函数的介绍可以参见:温州皮鞋的博客彻底理解setjmp/longjmp并DIY一个简单的协程_Netfilter,iptables/OpenVPN/TCP guard:-(-CSDN博客_longjmp上海昔日的邻居来杭州,我们小聚。今天一起带着小小去了西溪湿地,体验并不是太好,门票太贵,进去需乘船,船票快顶得上门票了,简直就是要抢劫啊!不过,景点嘛,一般我是不去的。缘由下面的代码
共有 0 条评论