1
我想编译一个简单的code gcc和clang。 gcc会为无法比较的投射产生警告(太棒了!)。然而,铛没有产生任何警告!我已通过两个相同的论点:为什么Clang不会为不兼容的演员生成任何警告?
cc -Wall -Wextra tmp3.c
gcc -Wall -Wextra tmp3.c
我是否通过所有必要的选项来叮当编译器或缺少的东西?叮当documentation不是一个很好的帮助!
代码:
int main(void)
{
void *b = (void *)0x12345678;
int a = (int)(unsigned long)b;
int c = (int)b;
return a + c;
}
锵版本3.8
为什么_expect_ clang发出警告? – Siguza
找到你可能不知道的警告的最好方法是'-Weverything'。这个选项(不幸的是,只能在Clang上使用)会逐字打开每一个警告。你说得对,文档不是非常有帮助。 –
@Siguza:为什么不呢?对于任何编程语言,这是任何编译器中最基本的东西 - 警告不兼容的转换! – DJJ