这是来自 Make Controller 固件的一些 C 代码。我很熟悉 void 指针是什么,但我从未见过像这个函数的第一行这样的语法。这样做究竟是为了什么?
void MakeStarterTask(void* parameters)
{
(void)parameters;
Run();
TaskDelete(NULL);
}
这是来自 Make Controller 固件的一些 C 代码。我很熟悉 void 指针是什么,但我从未见过像这个函数的第一行这样的语法。这样做究竟是为了什么?
void MakeStarterTask(void* parameters)
{
(void)parameters;
Run();
TaskDelete(NULL);
}
它“使用” parameters
,因此编译器不会发出有关未使用参数的警告,但表达式本身什么也不做。任何表达式都可以强制转换为void
,这会丢弃结果。
(请记住,表达式仍在计算中;使表达式完全被忽略是比较棘手的。)
它可能是为了抑制有关未引用参数的编译器警告,例如UNREFERENCED_PARAMETER宏。
指示编译器不要抱怨未使用的parameters
参数。