gpt4 book ai didi

gcc - 为什么 GCC 4.2.1 在某些情况下会忽略 #pragma GCC diagnostic ignored "-Wcast-qual"?

转载 作者:行者123 更新时间:2023-12-02 05:08:55 26 4
gpt4 key购买 nike

这是我的测试程序:

#include <stdio.h>
#pragma GCC diagnostic ignored "-Wcast-qual"

static void proc(char *buf)
{
printf("buf=%p\n",buf);
}

int main(int argc,char **argv)
{
const char *cbuf;
char *buf = (char *)cbuf;
proc(buf);
return(0);
}

这是我的编译:

$ g++ -Wcast-qual    x.cpp
x.cpp: In function ‘int main(int, char**)’:
x.cpp:13: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
$

这里是没有 -Wcast-qual 的编译:

$ g++ x.cpp
$

我在代码的其他地方使用了 #pragma GCC diagnostic ignored 没有问题。在这里它不起作用。谁能告诉我为什么?

最佳答案

这是 Mac 上的编译器错误。 Linux 上的 GCC 4.7.2 没有这个问题。 clang++ 也没有。在 Mac 上,您应该尝试使用 clang++,而不是 g++。

Apple 应该更新其编译器。

关于gcc - 为什么 GCC 4.2.1 在某些情况下会忽略 #pragma GCC diagnostic ignored "-Wcast-qual"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7796839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com