这个空指针是怎么回事?
这是来自 Make Controller 固件的一些 C 代码。我熟悉 void 指针是什么,但我从未见过像这个函数的第一行这样的语法。这样做到底要完成什么?
void MakeStarterTask(void* parameters)
{
(void)parameters;
Run();
TaskDelete(NULL);
}
This is some C code from the Make Controller firmware. I'm familiar with what void pointers are, but I've never seen syntax like the first line of this function. What precisely is being accomplished by that?
void MakeStarterTask(void* parameters)
{
(void)parameters;
Run();
TaskDelete(NULL);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
它“使用”参数,因此编译器不会发出有关未使用参数的警告,但表达式本身不执行任何操作。任何表达式都可以转换为
void
,这会丢弃结果。(请记住,表达式仍在计算中;使表达式完全被忽略是比较棘手的。)
It "uses"
parameters
so the compiler won't emit a warning about an unused parameter, but the expression does itself nothing. Any expression can be cast tovoid
, which discards the result.(Keep in mind that the expression is still evaluated; to make an expression completely ignored is trickier.)
它可能是为了抑制有关未引用参数的编译器警告,例如 UNREFERENCED_PARAMETER 宏。
It's probably there to suppress a compiler warning about an unreferenced parameter, like the UNREFERENCED_PARAMETER macro.
指示编译器不要抱怨未使用的
parameters
参数。Instructs the compiler not to complain about the unused
parameters
parameter.