0

我的问题涉及这一行:

    int f = makecontext( &threadList[ numThreads ].context

我的程序在没有赋值操作的情况下编译没有错误,但根本不起作用。这条线似乎什么也没做。当我添加“int f =”时,编译器给了我错误:

my_pthread.c:41:10: error: void value not ignored as it ought to be

我不明白这是怎么回事,因为 ucontext 应该总是返回 0 或 -1。

任何帮助表示赞赏。

4

1 回答 1

2

makecontext函数声明为:

void makecontext(ucontext_t *ucp, void (*func)(), int argc, ...);

它不返回任何值,因此您不能将函数的结果分配给任何东西。

于 2019-02-23T03:23:16.833 回答