compiler-warnings相关内容
我有一个大codeBase的,最近从微软的编译器的英特尔C ++编译感动。我们团队的目标是无主线警告编译。由于开关,警告167的一个实例已经困惑了我。如果我编译以下code: INT美孚(const int的pp_stuff [2] [2]) { 返回0; }INT foo2的(const int的pp_stuff [] [2]) { 返回0; } INT主要(无效) {
..
这code给我的警告: $猫test.c的 #包括LT&;&stdio.h中GT; #包括LT&;&time.h中GT;诠释主(){ time_t的吨; scanf函数(“%LLD”,& T公司); 的printf(“%LLD \\ n”,T); 返回0; } $ GCC test.c以-o测试 test.c的:在函数'主': test.c的:7:警告:格
..
我有以下的C code: 的#include<&math.h中GT;INT主(INT ARGC,字符** argv的) { 双mydouble = 100.0; 双不管= ROUND(mydouble); 回报(INT)什么; } 当我编译,我得到了警告: round_test.c:在函数'主': round_test.c:6:警告:函数'圆'隐式声明 round
..
我试图学习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
..
有关code, 而(1) { / * * ..... / } MSVC生成下列警告。 警告C4127:有条件的前pression不变 MSDN ,在警告页面提示使用为(;;)而不是,而(1)。我想知道有什么优势为(;;)所赐,为什么它警告说,在的不断使用,同时? 我应该使用GCC上什么标志得到同样的警告? 解决方案 恒条件等都很往往不够简单的错误。试想一下:无符号K表;
..
当我编译这样的事情 双达[3] = {2,3,4}; 双(* PDA)[3] =&放大器; DA; 双常量(* CPDA)[3] = PDA; // GCC:警告; MSVC:确定 GCC警告我警告:初始化从兼容的指针类型[默认启用] 的问题:什么是这个任务的问题?是的,从技术上说,这是不同的类型,但我没看到任何危险,双常量(*)[3] 看起来更安全,我不是双(*)[3] 。的 我做了
..
我里面有一个函数指针结构,获取动态设置在运行时在我的code不同的地方的另一个函数的地址。它在我的头文件中定义如下: 无效*(*运行)(); 在编译的时候,我得到这个以下警告:警告:函数声明不是一个原型 这警告是良性的,因为指针在很多地方使用我的code调用它指向的功能,一切工作就好了。不过,我的真正的喜欢沉默的警告。 如果我把它改成这样:无效*(*运行)(无效); 我得到wheve
..
我试图实现函数重载在 C ,我很接近。我使用C99所以在C11引入了 _Generic 关键字不能提供给我。我已经开发了一些工作code,但是当我编译它,我得到一对夫妇的警告。 的例子: 的#include<&stdio.h中GT;#定义打印(X)\\ __builtin_choose_expr(__ builtin_types_compatible_p(typeof运算(X),INT)
..
我写了一个简单的程序来找到的总和,平均,最大的和最小的3个数字的号码。 它允许用户输入三(整数)的数字,并返回的总和,平均值,最大值和最小值。 它没有错误,但警告。下面是我的源$ C $ C: main.c中: 的#include<&stdio.h中GT;诠释的main() { INT NUM1,NUM2,NUM3,求和,最大值,最小值,平均值; 的printf(“
..
问题是,同样的code在Windows编译好,是无法编译在Ubuntu上。每次我得到这个错误: CC1:警告被视为错误 现在,它的大code基础,我不喜欢固定所有的警告。 有什么办法,我可以不顾警告编译成功? 解决方案 感谢您的所有有用的建议。我终于确信有我的code没有警告,但同样是从sqlite3的得到这样的警告:假设时假定有符号溢出不会发生(X - C)< = X始终是
..
我偶然发现了一个小问题,而试图让常量,正确的code。 我也喜欢写一个函数,它接受一个指向const结构,告诉编译器“请告诉我,如果我修改结构,因为我真的不想。” 这突然来到我的脑海里,编译器将允许我这样做: 一个结构 { 字符* ptrChar; };无效F(const的结构体A * PTRA) { ptrA-> ptrChar [0] ='A'; //不希望! }
..
只见某处断言与以下列方式的消息用于: 断言((“信息”,条件)); 这似乎工作的伟大,除了GCC抛出以下警告:警告:逗号前pression的左边的操作没有任何影响 我怎样才能制止警告? 解决方案 使用 -Wno-未使用的价值停止警告; (该选项 -Wall 包括 -Wunused值)。 我觉得更好的是使用其他方法,如断言(条件和放大器;&安培;“信息”);
..
我有以下的code读取命令行参数。如果字符串为1个字符长和一个数字我想用其作为退出值。编译器给了我第二行警告(数组下标有键入'字符')这个错误来自第二部分之后的“&放大器;&安培;” 如果(参数[1]!= NULL){ 如果((strlen的(参数[1])== 1)及;&放大器; ISDIGIT(* ARGS [1])) 出口(((int)的ARGS [1
..
当我编译功能的“GCC -o沙地-Wall -ansi -pedantic-错误dene.c” ,海湾合作委员会发出任何错误。(你可以看看它与字符开始的行...,如果在循环) 静态无效remove_negation(字符* S,字符* S1) { 焦炭** cmainp =的malloc(sizeof的(字符*)* 1);
..
当我尝试编译下面一块code,我得到这样的警告: 警告:建议用作真值赋值左右括号 为什么会出现这种情况?这是一个相当常见的成语,我相信。我甚至对我的code使用类似的东西早。 结构PIDList * getRecordForPID(结构PIDList *名单,将为pid_t PID){ 而(名单=列表 - >接下来) 如果(列表 - > PID == PI
..
在什么样的情况有可能是GCC为不可以扔当试图打电话编造的功能是什么?一个“未定义的引用”链接错误信息 例如,在此C code由GCC编译和链接的情况: void函数() { made_up_function_name(); 返回; } ...即使 made_up_function_name 不是present的随时随地在code(不是头,源文件,声明,也没有任何第三方库
..
以下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
..
在实施存根等,要避免“未使用变量”的警告。我已经遇到过多年未使用()宏的几个选择,但从来没有其中一个要么被证明为“所有”的编译器工作,或者其中一个由标准是气密性的。 或者,我们坚持为每个构建平台? #IFDEF块 编辑:由于一些非C标准的替代答案,我想澄清,我正在寻找一个定义,它是有效的C和C ++中,所有的味道等等。 解决方案 据
..
..
我是谁开始学习C Linux用户,我试图编译这个来源,我输入: 的#include<&stdio.h中GT; 主要() { 浮C,D; C = 10215.3; D = C / 3; 的printf(“%3.2F \\ n”,D); 返回0; } 它使用一个makefile,我写编译如下: CC -Wall
..