我通常可以理解编译器警告背后的原因,但这似乎完全是错误的。
#include <stdint.h>
uint8_t myfunc(uint8_t x,uint8_t y)
{
x |= y;
return x;
}
带有 -Wall 的英特尔编译器抱怨:
conversion from "int" to "uint8_t={unsigned char}" may lose significant bits
x |= y;
^
这是正确的吗?上面的代码在某种程度上是不可移植和非标准的吗?