gcc-warning相关内容
int i = 3.1 / 2 不会导致任何警告,即使有-Wall选项。有时,我想知道在哪里精确度会丢失。为什么gcc不支持这个警告,而msvc支持这个? 谢谢。 编辑:我的gcc -v显示 配置为:../ ../gcc-4.4.1/configure --prefix = / mingw --build = mingw32 --enable-l
..
是否有任何方法可以使 gcc 或 clang 警告在switch语句中遗漏中断? 具体来说,我几乎总是希望case语句以break结束,如果我不这样做,我可以让编译器抱怨。更好的是,如果它会寻找一个突破性声明或“//通过”评论。 是否有不同的解决方案人们用来帮助自己不螺丝这对吗? 解决方案 使用Clang trunk,请使用 -Wimplicit-fallthrough 。
..
如何禁止gcc链接器发出以下警告: 警告:'mktemp'的使用是危险的,更好的使用'mkstemp' 我知道最好使用 mkstemp()但由于某些原因我必须使用 mktemp()函数。 解决方案 它到只接受路径名称作为参数而不是文件描述符或 FILE 指针的库。如果是这样,你可以使用 mkdtemp 创建一个临时目录并将文件放在那里,那么实际的名称是不重要的,因为由于该目录路
..
警告:隐式取消引用将不会访问'volatile util'类型的对象在编译这段代码的时候:'在语句[默认启用] 中: volatile util :: Yield y1; util ::收益y2; y1 + = y2; //
..
我正在开发一个brew应用程序。编译应用程序以获取MOD文件时,我不断收到此错误 cc1.exe:警告被视为错误 我想禁用此警告。我已经GOOGLE了,许多人说禁用 -werror 会有所帮助,但我不知道该怎么做。编译器是CodeSourcery ARM。 解决方案 您需要删除 -Werror 从 CFLAGS , CPPFLAGS 等;这些通常是在Makefile或build
..
我想摆脱警告。当我使用 gcc -Wall -ansi -o test test.c 编译源代码时$ c> 我回来了 test。 c:函数'main'中: test.c:12:警告:函数隐式声明'getresuid' test.c:14:警告:函数隐式声明'seteuid' 当我使用 -ansi 开关进行编译时 gcc -Wall -
..
我正在学习Pthreads。我的代码以我想要的方式执行,我可以使用它。但是它给了我编译时的警告。 我使用以下代码编译: gcc test.c -o test -pthread 使用GCC 4.8.1。我得到了警告: $ b test.c:在函数'main'中: test.c:39:46 :警告:从不同大小的整数转换为指针[-Wint-to-pointer-ca
..
我从GCC得到这个警告: 警告:不能传递非POD类型的对象'class Something'through'.. ';调用将在运行时中止 这非常致命,特别是因为它会调用中止。为什么这不是一个错误?我想使它成为一个错误,但: 如何为特定警告提供错误? 有哪个警告?根据 http://gcc.gnu.org/onlinedocs/gcc/Warning-Options .html
..
我试图在 C 中没有 main()函数的情况下编译和运行下面的程序。我已经使用以下命令编译了我的程序。 gcc -nostartfiles nomain.c 并且编译器发出警告 / usr / bin / ld:警告:找不到入口符号_start;默认为0000000000400340 好的,没问题。然后,我运行可执行文件(a.out), pri
..
例如, $ b $ b pre $ b返回TRUE; bool NullFunc(const struct timespec * when,const char * who) { return TRUE; } 在C ++我能够把一个 / * ... * / 注释围绕参数。但当然不是C语言。 它给了我的错误:参数名省略。 解决方案 我通常写这样一个宏: #定义未使
..
我有一个使用log4cxx,boost等库的项目,这些库的头文件会生成很多(重复)警告。有没有办法从库中包含警告(即#include )或包含某些路径?我想在项目代码上像往常一样使用-Wall和/或-Wextra,而相关信息不被遮盖。我现在在make输出上使用grep,但是我想要更好的东西。 c $ c> -isystem 而不是 -I 。这将使他们成为“系统标题”,GCC不会为他们报告警告。
..
我(实质上)在野外遇到以下内容: x = x = 5; 它显然是在早期版本的gcc下清理编译的(在gcc 4.5.1下生成一个警告)。据我所知,警告是由-W序列点产生的。所以我的问题是这是否违反了标准中关于在序列点之间操纵变量的标准(即,它是每个规范未定义的行为)还是这是gcc误报(即,它是按照规范定义的行为)?关于顺序点的措辞有点难以遵循。我说的基本上是因为我实际遇到的
..
在查看 GCC的警告选项时,我遇到了 -Waggregate-return 。 -Waggregate-return > 如果定义或调用了返回结构或联合的任何函数,则发出警告。 (在您可以返回数组的语言中,这也会引发警告。) 引发警告的小例子: class foo {}; foo f(void){return foo {};} int main(){}
..
我使用的是gcc 4.7.2。我的代码在模板和增强用法上相当沉重。当我编译并且定义或使用了某些模糊的东西时,我经常会收到错误消息,提示二十几个候选人,通常在他们单独的“包含在某个深度路径中的文件”中定义:“,每个候选人都有相应的错误消息,该特定候选人失败。特别是使用boost和模板,即使这样的单个错误也变得完全无法理解。 我的问题: 是否有选项可以控制搜索的深度为合适的候选人去?
..
如何在几行代码中禁用所有警告。 使用GCC诊断功能可以禁用特定警告,但是所有警告都有标志。 我试过这种方法,但它不起作用 pre $ g $ gcc诊断推送 #pragma GCC诊断忽略“-wall” //一些代码 #pragma GCC诊断弹出窗口 解决方案 从这里开始: http:// dbp-consulting。 com / tutorials / Suppres
..
我使用g ++ 4.3.0来编译这个例子: #include int main() { std :: vector一个; int b; } 如果我以最大警告级别编译示例,变量 b 未使用: [vladimir @ juniper data_create] $ g ++ m.cpp -Wall -Wextra -an
..
我目前正在努力调试我老板在90年代写过的一些软件的子程序。似乎有一个浮点异常出现在特定子例程的do循环中: 16 irad = 1,incmax如果(rr1.gt.rlimit)转到16 if(pts(irad).gt.0.0),则 rr1 = rr2 rr2 = rr2 + rdiv discrm =(rmsden(mt,irad)/ pts(irad)) 1 - ((
..
gcc似乎没有使用以下代码发出警告。如何获得警告? typedef枚举 { REG8_A, REG8_B, REG8_C } REG8; typedef枚举 { REG16_A, REG16_B, REG16_C } REG16; void function(REG8 reg8) { } int main(void) { 函数(REG16
..
我试图删除字符串的第一个字符,并保留剩余部分,我当前的代码不编译和im混淆如何解决它。 我的代码: char * newStr(char * charBuffer) { int len = strlen(charBuffer); int i = 1; char v; if(charBuffer [0] =='A'|| charBuffer [0] =='Q'){ f
..
我有一个问题在这段代码 - 可以复制1:1到一个cpp文件为了测试的行为: #include typedef struct { char sDateTime [20]; char sLogFileDirectory [300]; char sLogFileNameTemplate [300]; char sLogOutput [10] [100]
..