标题中可能不清楚。我在嵌入式STM32项目中遇到了以下代码。我不明白函数内部的行。
static void txend1(UARTDriver *uartp) {
(void)uartp; // what does this do? Is it a statement?
}
我已经尝试在线搜索其他地方,但大多数结果都是指向void指针的指针,我不认为这是。谢谢你的帮助!
答案 0 :(得分:12)
这个未使用的uart
参数只是portable way to suppress the warning。
它没有任何效果,但编译器会看到已使用的,并且不会发出任何警告。
在强制/无法更改函数原型(回调函数)时非常有用,但您的实现并不需要此参数。
(请注意gcc
偏好__attribute__((unused))
结构,更容易理解,但与所有编译器不兼容)