<分区>
从标题上看可能不是很清楚。我在嵌入式 STM32 项目中遇到了以下代码。我不明白函数内的那一行。
static void txend1(UARTDriver *uartp) {
(void)uartp; // what does this do? Is it a statement?
}
我试过在网上搜索其他地方,但大多数结果都是将指针转换为 void 指针,我认为这不是。感谢您的帮助!
<分区>
从标题上看可能不是很清楚。我在嵌入式 STM32 项目中遇到了以下代码。我不明白函数内的那一行。
static void txend1(UARTDriver *uartp) {
(void)uartp; // what does this do? Is it a statement?
}
我试过在网上搜索其他地方,但大多数结果都是将指针转换为 void 指针,我认为这不是。感谢您的帮助!
最佳答案
这只是一个portable way to suppress the warning在这个未使用的 uart
参数上。
它没有任何效果,但编译器认为它已被使用,并且不会发出任何警告。
当函数的原型(prototype)被强加/无法更改(回调函数)但您的实现不需要此参数时非常有用。
(注意 gcc
支持 __attribute__((unused))
结构,更容易理解,但不兼容所有编译器)
关于c - C : "(void)ptr;" 这个语句是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46332561/