gcc-warning相关内容

如何禁用没有命令行开关的gcc警告?

我收到以下警告: 警告:"X"已初始化并声明为"extern" 它看起来没什么大不了,我可以将其禁用.在我的情况下,更改代码并不是一个好主意,因为我无法控制代码,只需要编译即可.所以我想禁用警告. 如果它旁边有一个 -WSomeDefect 键,则可以使用 -Wno-SomeDefect 命令行开关,但此警告似乎没有明显的开关 如何禁用此类警告? 解决方案 有关所提出问题 ..
发布时间:2021-04-23 19:27:30 C/C++开发

如何获得算术中被遗忘的警告?

考虑这种情况: uint64_t add(uint32_t a,uint32_t b){返回a + b;//程序员忽略了(uint64_t)a + b.} 我们如何让GCC(或任何其他编译器)的C或C ++前端警告这种情况:正在以立即扩大的狭窄类型进行操作? 我已经阅读了当前的GCC文档,并尝试了各种警告,例如 -Wconversion ,但是什么也没有. 解决方案 我不知道 ..
发布时间:2021-04-19 20:05:10 C/C++开发

gcc size_t和sizeof算术转换为int

我决定在启用-Wsign-conversion的情况下测试编译项目,以查看会出现什么警告,并且遇到gcc的行为与clang不同的错误消息.有人可以告诉我哪个是正确的吗? 我有一个采用size_t参数的函数: void func(size_t) {} 其他一些结构 struct Test {}; 和调用代码 int i = some_initialiser(); fu ..
发布时间:2020-11-27 05:22:21 C/C++开发

如何查询C ++的GCC警告?

GCC允许使用以下语法查询特定于C ++语言的可用警告标志: g++ -Q --help=warning,c++ 将警告标志添加到呼叫中会将其包括在结果中: g++ -Wall -Q --help=warning,c++ 但是,似乎是从C的角度完成调用的,而从C ++的角度来看我不知道该怎么做.如果调用包含仅C ++的警告,例如: g++ -Wnon-virtual-dt ..
发布时间:2020-11-12 23:50:03 其他开发

GCC发出警告,指出指针类型不兼容

当我使用GCC 4.9.2编译以下程序时,收到以下警告:从不兼容的指针类型传递"P"的参数1 .但是,我看不到程序有什么问题.有任何线索吗? typedef int Row[10]; void P(const Row A[]) { } int main(void) { Row A[10]; P(A); return 0; } 这是从GCC到stderr的完 ..
发布时间:2020-11-12 23:49:14 其他开发

TensorFlow不使用调试模式构建

我们正在尝试构建带有调试标志的TensorFlow测试用例: bazel build -c dbg //tensorflow/python/kernel_tests:sparse_matmul_op_test 但是构建失败并出现以下错误: /usr/include/features.h:330:4:错误:#warning _FORTIFY_SOURCE 需要进行优化(-O)编译[ ..
发布时间:2020-11-12 23:44:55 其他开发

如何抑制“未使用的参数"?警告在C?

例如: Bool NullFunc(const struct timespec *when, const char *who) { return TRUE; } 在C ++中,我可以在参数周围添加/*...*/注释.但是,当然不是在C中,它会给我错误error: parameter name omitted. 解决方案 我通常会这样写一个宏: #define UNUS ..
发布时间:2020-11-12 22:24:32 其他开发

如何在C中做一个明确的尝试

较新版本的gcc提供了 Wimplicit-fallthrough ,对于大多数switch语句来说,这都是很棒的。但是,我有一个switch语句,我想允许所有案例陈述中的掉线。 是否有一种方法可以进行掉线?我希望避免为此文件使用 Wno-implicit-fallthrough 进行编译。 编辑:我我正在寻找一种方法来明确掉线(如果可能的话),而不是通过编译器开关或编译指示关闭警告。 ..
发布时间:2020-09-28 04:09:38 其他开发

让编译器检查数组初始化程序的数量

使用少于元素数量的初始化程序初始化数组(在C ++中,但是任何适用于C的解决方案也可能在这里工作)完全合法: int数组[10] = {1,2,3}; 但是,这可能是晦涩的bug的来源。有没有办法让编译器(gcc)检查一个特定数组的初始化程序数量,并在声明且实际大小不匹配时发出警告甚至错误? 我知道我可以使用 int array [] = {1,2,3}; 然后 ..
发布时间:2020-09-27 03:18:46 C/C++开发

删除#pragma警告

我在 .cpp s和 .hpp #pragma一次 / code> s,因此我会为每个使用它的文件发出警告。我没有找到任何禁用此类警告的选项,只有 #ifndef MY_FILE_H #define MY_FILE_H /*...*/ #endif 的东西。 所以您会建议我用 ifndef 替换每个 #pragma一次 s? 标题中: #define MYFILE_H // ..
发布时间:2020-09-27 03:02:31 C/C++开发