compiler-warnings相关内容
我即将提交一个丑陋的临时黑客,以便在我们等待修复外部资源时解决阻塞问题.除了用可怕的大注释和一堆 FIXME 标记它之外,我希望编译器抛出一个明显的警告消息作为提醒,这样我们就不会忘记将其删除.例如,类似于: [javac] com.foo.Hacky.java:192: 警告:FIXME 临时 hack 以解决库错误,修复库后删除我! 有没有一种方法可以通过我选择的消息引起有意的编译器警告?
..
问题: 昨天我将我的一个大项目转换为支持arm64,然后我立即收到了 500 多个警告.其中大约 70% 是 NSInteger 被分配给 int 的地方,反之亦然,其余的是 NSUInteger 被格式化为 NSString 的地方,如下所示: NSInteger a = 123;NSString *str = [NSString stringWithFormat:@"Int:%d",
..
我知道Java通常允许不关心方法中返回的对象,但在这种情况下,我想确保Api的用户将返回的实例添加到列表中,否则将被执行马上. 普通 Java: Runnable someTask() {...}一些任务();//好的 应该 Runnable someTask() {...}addToExecutionList(someTask());//好的一些任务();//发出警告 有没有办法通
..
我正在尝试为我的项目使用 Micosoft 的 SAL 注释,但是我收到以下警告,我不知道为什么. 例如,我创建了一个新的 C++ 控制台应用程序,并有以下代码: #include 课 随便{民众:_Check_return_ int Method(__in int number);};int main(){返回0;} 当我使用 Visual Studio 2008 进行编译时,我收到以
..
我正在用 C 编写程序,这是我的功能之一: void group3(){字符选择[5];printf("\n详细信息等");printf("\n如果您想订阅,请确认是/否:");scanf(“%s", 选择);如果(选择==“是")printf(“好");别的{printf(“好吧.");主要的();}} 但是当我尝试编译和调试程序时,出现了一个名为“忽略返回值:'scanf'"的警告.出现.
..
在运行我使用 cmake 的构建脚本时,我在构建过程中得到以下输出: ******************************************************************************** Visual Studio 2019 开发人员命令提示符 v16.7.5** 版权所有 (c) 2020 Microsoft Corporation*********
..
我想了解更多关于对齐的信息.为什么 Microsoft 编译器 (Visual Studio 2012 Express) 会抱怨以下代码片段的对齐方式? __declspec(align(16)) 类 Foo{民众:虚拟 ~Foo() {}虚拟空栏()= 0;}; 这是编译器给我的警告: warning C4324: 'Foo' : 由于 __declspec(align()) 结构被填充
..
如何在Qt Creator中禁用 -Wmissing-field-initializers 警告? 我有一个Qt Creator/MinGW项目,当我对结构进行零初始化时: void test(){struct foo {int a,b;};foo a = {};} 我收到此警告: test.cpp:12:警告:缺少成员'test():: foo :: b'的初始化程序[-Wmis
..
对于我的小功能,我不理解此警告: int Fct_name(int nb1,int * nb2){开关(目的地){情况1 :返回Fct_1(nb1,nb2);情况2:返回-1;}} 有人可以帮助我吗? 解决方案 这是因为,正如警告所言,并非所有代码路径都返回一个值,而该函数具有一个独特的返回类型,该类型告诉编译器“嘿,我要退还一些东西."但是如果 Dest 不是1或2,则实际上不执
..
上下文:C标准未将诊断消息归类为“警告".或“错误". 问题:通过处理某些“诊断消息"来解决问题.作为“警告"并且通过提供禁用警告生成的能力,某些编译器实施方式允许最终用户违反“应"的要求.不生成诊断消息的C标准要求.这是编译器错误/缺陷的津贴吗?如果没有,那么如何正确解释这种情况?作为允许违反“应"的“编译器"功能,不需要生成诊断消息的要求"? 示例: #pragma警告(禁用:34
..
我希望在GCC下编译的c ++程序的最大对齐长度为4个字节(结构成员).我真的可以通过#pragma pack指令来做到这一点.但是,对于我来说,这很不舒服,因为该项目很大,而且我需要使用#pragma pack制作一个标头,该标头必须包含在所有地方.现在,gcc编译器具有-mstructure-size-boundary = n选项,在此处
..
鉴于以下类,C#编译器会向我发出此警告:- CS0108“'B.Example'隐藏继承的成员'A.Example(string)'.如果打算隐藏,请使用new关键字". A类{公共字符串示例(字符串){退还东西}}B级:A{公共字符串示例=>"B";} 如果使用运行此代码的类 class程序{静态void Main(string [] args){B b =新的B();Cons
..
我试图在gcc上激活选项 -Wmismatched-tags (检测不一致的类/结构声明,这可能在使用正向声明时发生),但是在Ubuntu上我得到了 c ++:错误:无法识别的命令行选项'-Wmismatched-tags' 我的gcc版本: #gcc --versiongcc(Ubuntu 9.3.0-17ubuntu1〜20.04)9.3.0版权所有(C)2019自由软件基金会,In
..
在我们的gitlab服务器上设置CI构建的步骤中,我似乎找不到有关如何设置检测编译器警告的信息.构建输出示例: [100%]构建CXX对象somefile.cpp.o/home/gitlab-runner/builds/XXXXXXX/0/group/project/src/somefile.cpp:14:2:警告:#warning(“这是测试gitlab的警告")[-Wcpp]#warnin
..
考虑以下(笨拙的)C ++代码: #include#include#includeint main(){如果(abs(-0.75)!= 0.75){std :: cout
..
我只是编写了以下C#代码行,然后在程序无法按预期工作时花了几分钟的时间进行故障排除: myString.Replace(oldValue,newValue); ( myString , oldValue 和 newValue 都是字符串变量.) 很显然,我的意图是要使 myString 变量重新分配一个新字符串,该字符串等于原始 myString 值,但带有 oldValue 子字符
..
我最近开始为我的代码实现自动测试,我注意到CI不会捕获编译器的警告-即使有警告,测试也显示为成功.我最初为编译器添加了一个标志,以将警告变为错误和 allow_failure = True ,但是问题是,编译器在第一个警告->错误中停止并且没有遍历整个汇编.然后,我使用了此处解释的技巧,将警告写入文件,然后测试文件是否不为零: -make 2>>(发球台警告)- 测试 !-s make.warn
..
我想知道如何在整个项目的VS Code 中取消特定的编译器警告. 我已经看到以下问题:是否可以禁用特定的编译器警告?,但适用于Visual Studio,而不适用于Visual Studio代码. 以下是上面链接的问题中推荐的答案: 1. 解决方案资源管理器> 查看> 属性> Build > 禁止警告 和 2. #pragma警告禁用警告列表 对于#1:我在VS Code中的任
..
我知道Java通常不允许关心方法中是否存在返回的对象,但是在这种情况下,我想确保Api的用户将返回的实例添加到列表中,否则它将被执行马上. 普通的Java: Runnable someTask(){...}someTask();//好的 应该是 Runnable someTask(){...}addToExecutionList(someTask());//好的someTask(
..
我在linux上,正在编译以下内容: mpif90-共享源.F90 object1.o object2.o -L/some/path -Qoption,link,-rpath =/some/path -I/some/path -lhdf5 -lhdf5_fortran -fPIC -fpp-DDECDEC_ -DMSMS_ -cxxlib-gcc -o libhdfwrapper.so 我
..