gcc-warning相关内容
我最近开始使用-Wall编译器开关,试图提高我的代码的质量。 int i; for(i = start-1; i> = 0; i--) { if(i> = number1.array.size()) { one_value = 0; } 因为number1.array.size是无符号的::向量)。由于循环中的测试是i> = 0,我必须签名或不工作。看来
..
我收到这两个警告(在MacOSX上使用GCC 4.2): / Users / az / Programmierung / openlierox / build / Xcode /../。 ./src/main.cpp:154:0 /Users/az/Programmierung/openlierox/build/Xcode/../../src/main.cpp:154:warning:'st
..
以下代码编译正常,没有任何警告(默认选项为g ++)。是否有一个标志,我们可以用来要求g ++在这种情况下发出警告? void foo(bool v){ } void bar(){ foo(“test”); } 解决方案 c $ c> clang -Weverything 并选择弹出的警告: void foo ){} void bar(){
..
我从boost库头部有很多警告,是否有任何方法来解决这个问题? libs / boost / include / boost / numeric / ublas / detail / vector_assign.hpp:382:39:warning:typedef'reference'局部定义但不使用[-Wunused-local-typedefs] typedef typename
..
我从boost库头部有很多警告,是否有任何方法来解决这个问题? libs / boost / include / boost / numeric / ublas / detail / vector_assign.hpp:382:39:warning:typedef'reference'局部定义但不使用[-Wunused-local-typedefs] typedef typename
..
double **和double(*)[2]之间的区别是什么。 如果我理解得很好,double **是一个指针一个指针double,所以它可以是一个任意大小的二维数组,而double(*)[2]是一个double [2]数组的指针。 例如: void pcmTocomplex(short * data,double * outm [2]) 如果我传递一个double(*)[
..
使用GNU GCC 4.7.0+我有一些严格的别名警告,我想解决。 我有一个有效载荷(从硬件): unsigned char payload [davidlt :: PAYLOAD_SIZE]; 我有这行: *(uint32_t *)(payload + davidlt :: DATA_OFFSET)=(pid& davidlt :: PID_MASK)
..
我很好奇,如果有一个选项禁用gcc警告一个参数不是有效的正在编译的语言。 例如: cc1:warning: Wno-deprecated“对C ++ / Java / ObjC ++有效,但不适用于C 我们在整个构建过程中全球决定的警告。 我们有C / C ++代码和警告,当试图找到实际警告时真的很烦人。 有任何建议吗? 解决方案 在我看来,
..
我很好奇,如果有一个选项禁用gcc警告一个参数不是有效的正在编译的语言。 例如: cc1:warning: Wno-deprecated“对C ++ / Java / ObjC ++有效,但不适用于C 我们在整个构建过程中全球决定的警告。 我们有C / C ++代码和警告,当试图找到实际警告时真的很烦人。 有任何建议吗? 解决方案 在我看来,
..
当我编译我的库时,我已经打开了 -fPIC ,因为我想能够将其编译为共享库,但也作为静态。 在cygwin上使用gcc 3.4.4我在所有源文件上收到此警告: -fPIC忽略目标(所有代码是位置无关的) 我真的想知道它的意义。它告诉我,我使用一个开关没有影响,因为开关应该avieche已经完成。嗯,这意味着它是多余的,很好。 我不是在说为什么使用PIC,只
..
当我编译我的库时,我已经打开了 -fPIC ,因为我想能够将其编译为共享库,但也作为静态。 在cygwin上使用gcc 3.4.4我在所有源文件上收到此警告: -fPIC忽略目标(所有代码是位置无关的) 我真的想知道它的意义。它告诉我,我使用一个开关没有影响,因为开关应该avieche已经完成。嗯,这意味着它是多余的,很好。 我不是在说为什么使用PIC,只
..
下面的代码通过一些bit hack执行快速的平方根运算。 该算法可能是由Silicon Graphics在20世纪90年代初开发的,它也出现在Quake 3中。 更多信息 但是,我从GCC C ++编译器获得以下警告:取消引用类型冲突指针将破坏严格别名规则 应该使用 static_cast , reinterpret_cast 或 dynamic_cast float In
..
我有一个复杂的开关语句,我忘了在之一的结尾放置 break case s。这是相当合法的,因此我有一个下落到下一个情况。 如果我忽略放置一个 break 语句,任何方式有gcc警告(或更好,失败) 我意识到有很多有效的用例(我经常在我的代码中使用它们),如这个问题,所以显然这样的警告(或失败)需要一个简单的豁免,这样我可以很容易地说, “我想在这里落下。 有没有办法告诉gcc这样
..
在我正在开发的软件项目中,我们使用某些第三方库,不幸的是,产生恼人的gcc警告。 我们正努力清除所有警告代码,并希望在GCC中启用treat-warnings-as-errors(-Werror)标志。 有没有办法使这些第三方生成的警告,我们不能修复,消失? 解决方案 I假设你正在谈论来自第三方库头文件的警告。 GCC特定的解决方案是创建另一个包装头文件,它基本上有两行: / p
..
请考虑以下代码: void ListenerImpl :: attach(boost :: shared_ptr subscriber) { boost :: unique_lock(mtx); subscribers.push_back(subscriber); } void ListenerImpl ::
..
当我第一次编译我的C ++代码与GCC 4.3,(在编译成功后没有在4.1,4.0,3.4的警告与 -Wall -Wextra options)我突然有一堆错误的形式警告:类型限定符忽略函数返回类型。 考虑 temp.cpp : public: const int getConstThing()const { return _cMyInt; } const int ge
..
我想启用 - GCC具有的所有警告。 (你会认为很容易...) 你会认为 可能会做的伎俩,但不是!仍然需要 -Wextra 。 你会认为 -Wextra 可能会做的伎俩,但不是!并非列出的所有警告此处(例如, -Wshadow )。 如何告诉GCC启用(无if, 解决方案 你不能。 GCC 4.4.0手册仅适用于该版本,但它列出了4.4.0的所有可能警告。它们并不都
..
GCC通常产生该警告时,不包含正确的头文件中。此链接 - > www.network-theory.co.uk/docs/ gccintro / gccintro_19.html 说,由于函数声明是隐式的(而不是通过一个头显式声明)了错误的参数类型实际上可以传递给函数,产生不正确的结果。我不明白这一点。这是否意味着,编译器生成code,它推的东西,机器的字大小,压入堆栈,被叫方消费,并希望最好?
..
我刚刚调试一个C程序很长一段时间,才发现我做一个函数调用时错过了一个说法,所以垃圾,而不是填补缺少的参数。这样愚蠢的错误是很无奈,但我想编制者应能够检测到这一点。 (C甚至不支持默认参数,即使在C ++中,默认参数需要显式声明) 更新:原型被认为是错误的,太... 那么,是有无与伦比的警告函数调用的参数数量的GCC标志?我一直有 -Wall 和 -pedantic 上;这是相当令人惊讶,这样一
..
我在C语言编写的程序意在编译和HP NonStop服务器的机器上运行。然而,我想要做的运行Linux在工作站上的主要发展。惠普的NonStop C编译器需要非标准#include指令类似如下: 的#include<&stdio.h中GT; NOLIST 对于每一个#include指令,我的工作站的GCC抱怨: S88USF.c:139:21:警告:在#include指令结束多出的令牌
..