我在 xc32 编译器(基于 gcc 的微控制器编译器,不是开源的)上收到这样的警告。
modem_uart.c:66:5:警告:传递“memset”的参数 1 会从指针目标类型中丢弃“volatile”限定符 [默认启用]
这是代码:
#include <string.h>
// (...)
volatile char rxbuf[MODEM_UART_RXBUF_SIZE];
// (...)
void some_function(void)
{
// (...)
memset(rxbuf, 0, MODEM_UART_RXBUF_SIZE); // <- warning here
// (...)
}
有人可以解释为什么编译器会丢弃 volatile 吗?