這是Make Controller固件的一些C代碼。我熟悉void指針是什麼,但我從來沒有見過像這個函數的第一行那樣的語法。那究竟是完成了什麼?這個void指針發生了什麼?
void MakeStarterTask(void* parameters)
{
(void)parameters;
Run();
TaskDelete(NULL);
}
這是Make Controller固件的一些C代碼。我熟悉void指針是什麼,但我從來沒有見過像這個函數的第一行那樣的語法。那究竟是完成了什麼?這個void指針發生了什麼?
void MakeStarterTask(void* parameters)
{
(void)parameters;
Run();
TaskDelete(NULL);
}
它「使用」parameters
因此編譯器不會發出關於未使用參數的警告,但表達式本身不會產生任何結果。任何表達式都可以轉換爲void
,這會丟棄結果。 (請記住,表達仍然評估; to make an expression completely ignored is trickier。)
指示編譯器不要抱怨未使用的parameters
參數。
這可能是爲了抑制關於未引用參數的編譯器警告,如UNREFERENCED_PARAMETER宏。
謝謝,這是有道理的。 – Andrew 2011-02-17 03:43:19