gpt4 book ai didi

c++ - C 与 C++ 中的 Clang -Wunused-const-variable

转载 作者:太空宇宙 更新时间:2023-11-04 01:50:53 29 4
gpt4 key购买 nike

一个只有 const 声明的文件,如下所示:

const int genericRC = 0;

当使用 clang 编译时,C++ 前端会警告这个未使用的变量。但是,clang C 前端对此保持沉默:

$ cat x.sh
clang -c src/x.c -Wall -std=c11
clang++ -c src/t.cpp -Wall -std=c++11

$ ./x.sh
src/t.cpp:1:11: warning: unused variable 'genericRC' [-Wunused-const-variable]
const int genericRC = 0;
^
1 warning generated.

C 与 C++ const 对于此类 const 静态范围变量是否有任何根本区别,或者这只是一个警告,恰好在 clang C++ 前端而不是在 C 前端中实现。

最佳答案

在 C++ 中,它具有内部链接,因此编译器可以知道它未被使用。在 C 语言中,它具有外部链接,因此它可能会被另一个翻译单元使用,因此现在发出警告还为时过早。

关于c++ - C 与 C++ 中的 Clang -Wunused-const-variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43313922/

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