0

我正在尝试调用 longjmp。Setjmp 有效,但 longjmp 给了我一个类型错误。

void thread_start_threading(void)
{
    setjmp(env);
    dispatch();
    current_thread->function(current_thread->arg);
}

然后后来:

void thread_yield(void)
{
    longjmp(env, 9); 
    return;
}

它给我的错误是warning: passing argument 1 of ‘longjmp’ makes pointer from integer without a cast

我真正想要的是保存寄存器的状态,然后再恢复它们。我认为我不需要使用论点来做到这一点。但我可能是错的。我不理解 setjmp。

编辑:更多代码

4

0 回答 0