据我所知,ucontext
提供了比setjmp
更好的东西。但它已被弃用,现在已从POSIX规范中删除。那么它为什么会出现呢?为什么它会被删除?
答案 0 :(得分:4)
来自ucontext.h
的{{3}}签名是:
void makecontext(ucontext_t *ucp, void (*func)(),
int argc, ...);
请注意func
使用空括号作为参数,但这是标准C中不推荐使用的功能:
C11(ISO / IEC 9899:201x)§6.11.6函数声明符
使用带有空括号的函数声明符(不是prototype-format参数 类型声明者)是一个过时的功能。
这是它被弃用的原因(并且不知何故)。