gcc-warning专题提供gcc-warning的最新资讯内容,帮你更好的了解gcc-warning。
在编译OCaml项目时,该项目链接到需要C标准库的库(例如LLVM的OCaml绑定),使用-cc g参数到ocamlc并使用GCC> = 4.4生成以下形式的极其详细的警告: warning: deprecated conversion from string constant to ‘char*’ 如何删除这些警告? 问题源于ocamlc生成中间C代码,该代码在较新版本的GCC以C模式编译时触发
我知道这是一个简单的问题,但我很困惑.我有一个相当典型的 gcc警告,通常很容易修复: 警告:有符号和无符号整数表达式之间的比较 每当我有一个具有最高有效位的十六进制常量(如0x80000000L)时,编译器会将其解释为无符号.例如,使用-Wextra编译此代码将导致警告(gcc 4.4x,4.5x): int main() { long test = 1; long *p = &test; if
Visual C 2017和 gcc 5.4生成从’const unsigned char’到’const float’的转换需要对B行进行缩小转换警告,但在此代码段中不需要对A行进行转换: #include <iostream> int main() { const unsigned char p = 13; const float q = p; // Lin
我刚刚在海湾合作委员会中发出以下警告: warning: implicit dereference will not access object of type ‘volatile util::Yield’ in statement [enabled by default] 在编译此代码时: volatile util::Yield y1; util::Yield y2; y1 += y2; //
在以下代码中: #include <iostream> int main() { const long l = 4294967296; int i = l; return i; //just to silence the compiler } 编译器警告隐式转换(使用-Wall和-std = c 14)如下: warning: implicit conversion from 'con
我很惊讶这个编译没有任何警告: int main() { *"abc" = '\0'; } 用gcc main.c -Wall -Wextra和clang main.c -Weverything. 为什么没有这个警告?有没有办法不会引起分段错误? 您可以使用-Wwrite-strings在GCC中获取此代码的警告.从 GCC documentation: -Wwrite-strings
我使用g 4.3.0编译这个例子: #include <vector> int main() { std::vector< int > a; int b; } 如果我用最大警告级别编译示例,我会收到一个警告:不使用变量b: [vladimir@juniper data_create]$g++ m.cpp -Wall -Wextra -ansi -pedantic m.cpp: In fu
我在 gcc 4.6.1中编译C源代码时遇到了警告. warning: variable set but not used [-Wunused-but-set-variable] 我参考了这个链接Wunused,但是可以得到正是导致这个警告的原因.有谁能告诉我更多细节是什么导致了这个警告,我们怎么能摆脱它? [编辑]  我有一小段代码.编译显示上述警告.你能建议我怎么纠正它? test_funct
在以下C代码中: typedef enum { a, b, c } Test; int foo(Test test) { switch (test) { case a: return 0; case b: return 1; case c: return 0; } } 当使用-Wall编译时发出警告,表示控制到达无效函数的结尾.为什
我最近在下一个类似的上下文中出现了一个错误: double getSomeValue() { return 4.0; } ... std::string str; str = getSomeValue(); 正如你可以看到的,很容易发现问题,但是在一个大的代码库中,getSomeValue()与调用代码不在同一个文件中,可能很难将这个双重标记发送到std :: string静默转换. GC
代码是: Push(size, (POINTER)(GetCar(i) == term_Null()? 0 : 1)); 这是C代码推送返回ABC typedef POINTER *ABC typedef void * POINTER ABC size; Push(ABC,POINTER); XYZ GetCar(int); typedef struct xyz *XYZ; XYZ