为什么要添加ucontext然后从POSIX中删除?

时间:2013-02-22 00:09:58

标签: c posix setjmp ucontext

据我所知,ucontext提供了比setjmp更好的东西。但它已被弃用,现在已从POSIX规范中删除。那么它为什么会出现呢?为什么它会被删除?

1 个答案:

答案 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参数   类型声明者)是一个过时的功能。

这是它被弃用的原因(并且不知何故)。