compiler-warnings相关内容

英特尔C ++编译器,当非const参数作为常量参数传递警告167

我有一个大codeBase的,最近从微软的编译器的英特尔C ++编译感动。我们团队的目标是无主线警告编译。由于开关,警告167的一个实例已经困惑了我。如果我编译以下code: INT美孚(const int的pp_stuff [2] [2]) { 返回0; }INT foo2的(const int的pp_stuff [] [2]) { 返回0; } INT主要(无效) { ..
发布时间:2016-08-21 21:34:13 C/C++

为什么GCC报告和QUOT;功能'圆'隐式声明"?

我有以下的C code: 的#include<&math.h中GT;INT主(INT ARGC,字符** argv的) { 双mydouble = 100.0; 双不管= ROUND(mydouble); 回报(INT)什么; } 当我编译,我得到了警告: round_test.c:在函数'主': round_test.c:6:警告:函数'圆'隐式声明 round ..
发布时间:2016-08-21 21:10:49 C/C++

数组c - 警告:格式字符串不是一个字面

我试图学习C和已经我碰到的一个问题。我认为它微不足道,但我需要知道它。我已经写: 的#include<&stdio.h中GT; #包括LT&;&string.h中GT;诠释的main() { 炭str_a [20]; 的strcpy(str_a,“你好,世界\\ n!”); 的printf(str_a); } 有一次,我试着用编译:gcc的-g -o char_a ..
发布时间:2016-08-21 20:50:33 C/C++

为什么MSVC产生恒定时使用警告C4127"而" - C

有关code, 而(1) { / * * ..... / } MSVC生成下列警告。 警告C4127:有条件的前pression不变 MSDN ,在警告页面提示使用为(;;)而不是,而(1)。我想知道有什么优势为(;;)所赐,为什么它警告说,在的不断使用,同时? 我应该使用GCC上什么标志得到同样的警告? 解决方案 恒条件等都很往往不够简单的错误。试想一下:无符号K表; ..
发布时间:2016-08-19 13:37:29 C/C++

分配与所述;指针常量的制造&gt阵列; = LT;指针数组计算值:不相容指针

当我编译这样的事情 双达[3] = {2,3,4}; 双(* PDA)[3] =&放大器; DA; 双常量(* CPDA)[3] = PDA; // GCC:警告; MSVC:确定 GCC警告我警告:初始化从兼容的指针类型[默认启用] 的问题:什么是这个任务的问题?是的,从技术上说,这是不同的类型,但我没看到任何危险,双常量(*)[3] 看起来更安全,我不是双(*)[3] 。的 我做了 ..
发布时间:2016-08-18 23:55:01 C/C++

怎样沉默的函数指针的C编译器接受任意数量的参数?

我里面有一个函数指针结构,获取动态设置在运行时在我的code不同的地方的另一个函数的地址。它在我的头文件中定义如下: 无效*(*运行)(); 在编译的时候,我得到这个以下警告:警告:函数声明不是一个原型 这警告是良性的,因为指针在很多地方使用我的code调用它指向的功能,一切工作就好了。不过,我的真正的喜欢沉默的警告。 如果我把它改成这样:无效*(*运行)(无效); 我得到wheve ..
发布时间:2016-08-18 23:30:14 C/C++

编译器警告 - 使用GCC的C函数重载

我试图实现函数重载在 C ,我很接近。我使用C99所以在C11引入了 _Generic 关键字不能提供给我。我已经开发了一些工作code,但是当我编译它,我得到一对夫妇的警告。 的例子: 的#include<&stdio.h中GT;#定义打印(X)\\ __builtin_choose_expr(__ builtin_types_compatible_p(typeof运算(X),INT) ..
发布时间:2016-08-18 23:23:59 C/C++

为什么这样"功能'X'&QUOT ;?隐式声明

我写了一个简单的程序来找到的总和,平均,最大的和最小的3个数字的号码。 它允许用户输入三(整数)的数字,并返回的总和,平均值,最大值和最小值。 它没有错误,但警告。下面是我的源$ C ​​$ C: main.c中: 的#include<&stdio.h中GT;诠释的main() { INT NUM1,NUM2,NUM3,求和,最大值,最小值,平均值; 的printf(“ ..
发布时间:2016-08-18 22:54:26 C/C++

如何编译没有警告被视为错误?

问题是,同样的code在Windows编译好,是无法编译在Ubuntu上。每次我得到这个错误: CC1:警告被视为错误 现在,它的大code基础,我不喜欢固定所有的警告。 有什么办法,我可以不顾警告编译成功? 解决方案 感谢您的所有有用的建议。我终于确信有我的code没有警告,但同样是从sqlite3的得到这样的警告:假设时假定有符号溢出不会发生(X - C)< = X始终是 ..
发布时间:2016-08-18 22:23:23 C/C++

可以GCC提醒我有关修改C99一个const结构的领域?

我偶然发现了一个小问题,而试图让常量,正确的code。 我也喜欢写一个函数,它接受一个指向const结构,告诉编译器“请告诉我,如果我修改结构,因为我真的不想。” 这突然来到我的脑海里,编译器将允许我这样做: 一个结构 { 字符* ptrChar; };无效F(const的结构体A * PTRA) { ptrA-> ptrChar [0] ='A'; //不希望! } ..
发布时间:2016-08-18 22:23:18 C/C++

断言()与消息

只见某处断言与以下列方式的消息用于: 断言((“信息”,条件)); 这似乎工作的伟大,除了GCC抛出以下警告:警告:逗号前pression的左边的操作没有任何影响 我怎样才能制止警告? 解决方案 使用 -Wno-未使用的价值停止警告; (该选项 -Wall 包括 -Wunused值)。 我觉得更好的是使用其他方法,如断言(条件和放大器;&安培;“信息”); ..
发布时间:2016-08-18 22:04:12 C/C++

数组下标具有类型'字符'

我有以下的code读取命令行参数。如果字符串为1个字符长和一个数字我想用其作为退出值。编译器给了我第二行警告(数组下标有键入'字符')这个错误来自第二部分之后的“&放大器;&安培;” 如果(参数[1]!= NULL){ 如果((strlen的(参数[1])== 1)及;&放大器; ISDIGIT(* ARGS [1])) 出口(((int)的ARGS [1 ..
发布时间:2016-08-18 15:22:49 C/C++

混合声明和codeS

当我编译功能的“GCC -o沙地-Wall -ansi -pedantic-错误dene.c” ,海湾合作委员会发出任何错误。(你可以看看它与字符​​开始的行...,如果在循环) 静态无效remove_negation(字符* S,字符* S1) { 焦炭** cmainp =的malloc(sizeof的(字符*)* 1); ..
发布时间:2016-08-18 14:48:24 C/C++

编译器警告 - 建议用作真值赋值左右括号

当我尝试编译下面一块code,我得到这样的警告: 警告:建议用作真值赋值左右括号 为什么会出现这种情况?这是一个相当常见的成语,我相信。我甚至对我的code使用类似的东西早。 结构PIDList * getRecordForPID(结构PIDList *名单,将为pid_t PID){ 而(名单=列表 - >接下来) 如果(列表 - > PID == PI ..
发布时间:2016-08-18 14:13:01 C/C++

可以GCC不要抱怨未定义的参考?

在什么样的情况有可能是GCC为不可以扔当试图打电话编造的功能是什么?一个“未定义的引用”链接错误信息 例如,在此C code由GCC编译和链接的情况: void函数() { made_up_function_name(); 返回; } ...即使 made_up_function_name 不是present的随时随地在code(不是头,源文件,声明,也没有任何第三方库 ..
发布时间:2016-08-18 13:52:51 C/C++

海湾合作委员会未能发出警告未初始化的变量的

以下code的可被未初始化的变量。看来,GCC应该产生一个警告而不是: $猫交流转换器 INT美孚(INT B){ int类型的; 如果(B)的 一个= 1; 返回; }$ GCC-4.7 -c -Wall -Wmaybe,未初始化-o a.o ./a.c $ GCC-4.7 -v 使用内置的规格。 COLLECT_GCC = GCC-4.7 COLLECT_LTO_WRA ..
发布时间:2016-08-18 13:25:16 C/C++

在C / C实现未使用的宏通用编译器无关的方法++

在实施存根等,要避免“未使用变量”的警告。我已经遇到过多年未使用()宏的几个选择,但从来没有其中一个要么被证明为“所有”的编译器工作,或者其中一个由标准是气密性的。 或者,我们坚持为每个构建平台? #IFDEF块 编辑:由于一些非C标准的替代答案,我想澄清,我正在寻找一个定义,它是有效的C和C ++中,所有的味道等等。 解决方案 据 ..
发布时间:2016-08-18 13:04:33 C/C++开发

警告:返回类型默认为'诠释'[-Wreturn型]

我是谁开始学习C Linux用户,我试图编译这个来源,我输入: 的#include<&stdio.h中GT; 主要() { 浮C,D; C = 10215.3; D = C / 3; 的printf(“%3.2F \\ n”,D); 返回0; } 它使用一个makefile,我写编译如下: CC -Wall ..
发布时间:2016-08-17 23:33:30 C/C++