我的问题涉及这一行:
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。
任何帮助都将不胜感激。
makecontext
函数被声明为:
void makecontext(ucontext_t *ucp, void (*func)(), int argc, ...);
它返回没有值,因此您无法将函数的结果分配给任何内容。