我正在创建一个用户级线程库,我想做的是在存根内运行一个函数,所以我想将函数指针传递给存根函数。
这是我的存根函数:
void _ut_function_stub(void (*f)(void), int id)
{
(*f)();
DeleteThread(id);
}
这就是用户所说的。我想要做的是获取 _ut_function_stub 的指针以分配给pc,我尝试了各种不同的选项,包括强制转换,但编译器一直说“无效使用 void 表达式”。
int CreateThread (void (*f) (void), int weight)
{
... more code
pc = (address_t)(_ut_function_stub(f, tcb->id));
... more code
}
任何帮助表示赞赏。谢谢!