compiler-warnings 相关问题

编译器发出的消息,指示代码或配置中的潜在问题。

为什么java编译器不显示明显除以零的警告? [重复]

这只是我好奇为什么java编译器在这种情况下不显示任何警告,而它显示未经检查的操作的警告来预测可能的ClassCastException。 公开课

回答 1 投票 0

在英特尔编译器中的特定位置禁用警告

我有一个数学向量,我用模板参数 int N 定义其维度。问题是我在构造函数中添加了许多参数,最多 N=9,g++ 对此没问题,但是...

回答 2 投票 0

编译器未编译以下行(C++)

我在尝试编译此代码时遇到问题: int *array_aleatorio = new int[8]{0, 1, 2, 3, 4, 5, 6, 7}; 这是显示的错误: main.cpp:315:38: 错误:预期 ';'在

回答 2 投票 0

为什么Java不给出任何关于向下转型的警告?

我不明白Java编译器在认为可能成功时不警告向下转型背后的哲学。特别是,以下内容编译时没有任何警告(我是你...

回答 1 投票 0

从 DPR 文件中删除了编译器指令

问题 如何使编译器指令保留在 DPR 文件中? 描述 我需要关闭此编译器警告,因为我不打算使我的库与 C++ 兼容。 如果我把 co...

回答 2 投票 0

编译器指令从 Dpk 文件中删除

我需要关闭这个编译器警告,因为我不打算让我的库与 C++ 兼容。 如果我将编译器指令放入生成警告的 PAS 文件中,它将被忽略。 如果...

回答 2 投票 0

C 中的位字段访问

我正在尝试访问位字段: 下面的代码可以正常工作并给出预期结果,但会引发我在下面提到的编译器警告。 #包括 #包括 我正在尝试访问位字段: 下面的代码可以正常工作并给出预期结果,但会抛出我在下面提到的编译器警告。 #include <stdio.h> #include <stdint.h> struct status_type_one{ unsigned delta_cts : 1;// lsb unsigned delta_dsr : 1; unsigned tr_edge : 1 ; unsigned delta_rec : 1; unsigned cts : 1; unsigned dsr : 1; unsigned ring : 1; unsigned rec_line : 1;// msb } status_one; struct status_type_two { unsigned : 4; // lsb 4 bits unsigned cts : 1; //bit 5 unsigned dsr : 1; // bit 6 } status_two; int main(void) { status_one.delta_cts=1; status_one.delta_dsr=0; status_one.tr_edge=1; status_one.delta_rec=0; status_one.cts=1; status_one.dsr=0; status_one.ring=1; status_one.rec_line=1; printf("The value of status_one is %x\n",status_one); // warning here status_two.cts=1; status_two.dsr=1; printf("The value of status_one is %d\n",status_two); // warning here return 0; } 但我收到以下警告: $ gcc -Wall Bit_Fields.c -o Bit_Fields Bit_Fields.c: In function `main': Bit_Fields.c:35: warning: unsigned int format, status_type_one arg (arg 2) Bit_Fields.c:35: warning: unsigned int format, status_type_one arg (arg 2) Bit_Fields.c:40: warning: int format, status_type_two arg (arg 2) Bit_Fields.c:40: warning: int format, status_type_two arg (arg 2) 输出正确如下所示 $ ./Bit_Fields The value of status_one is d5 The value of status_one is 48 谁能告诉我这个警告是什么以及如何解决它吗? 谢谢 解决这个问题的典型方法是使用整数类型的联合值,例如: union status_type_one { struct status_type_one{ unsigned delta_cts : 1;// lsb unsigned delta_dsr : 1; unsigned tr_edge : 1 ; unsigned delta_rec : 1; unsigned cts : 1; unsigned dsr : 1; unsigned ring : 1; unsigned rec_line : 1;// msb } bits; unsigned whole[1]; // Size should match the total bits size. } status_one; 现在,您的其他代码必须更改: status_one.bits.delta_cts=1; status_one.bits.delta_dsr=0; status_one.bits.tr_edge=1; ... etc ... 和打印: printf("The value of status_one is %x\n",status_one.whole[0]); [显然,如果结构体整体上不止一项,则需要循环或将多个值传递给 printf] 您正在做的事情可能看起来很有效,但是您实际上不应该将 STRUCT 传递给 printf 函数,并且如果您使用多个机器字的数据,则无法知道它会做什么,或者在一个机器上会发生什么64位机等等等等

回答 1 投票 0

类型安全 - 为 varargs 参数创建通用数组 - 这是一个好的解决方案吗?

如果我向 JavaFX TableView 添加列: tableView.getColumns().addAll( col1, col2, col3 ); 我收到这个警告: 类型安全:为可变参数创建 TableColumn< T, ? > 的通用数组

回答 3 投票 0

编译器警告消息

我有一段代码在编译时给了我这个警告 #define SKM_sk_set_cmp_func(类型, st,cmp) \ ((int (*)(const 类型 * const *,const 类型 * const *)) \ sk_set_cmp_func(

回答 1 投票 0

FSC 编译警告:程序集“SMDiagnostics”被传递引用,且程序集无法自动解析

在编译我的项目(它是一个实现 Windows 服务的控制台应用程序)时,会间歇性地发布上述警告。 (这里是完整的警告文字) 警告 1 程序集“SMDiagnostics”为

回答 2 投票 0

奇怪的警告:“已分配但其值从未使用”

为什么我的 C# 代码中会收到以下警告? 私有字段 xxxx 已分配,但其值从未被使用 相关属性仅用作用户的标志。用户确实可以

回答 5 投票 0

Java“空白最终字段可能尚未初始化”方法中抛出异常

我有一些代码,例如: 最终 int var1; 如果( isSomethingTrue ){ var1 = 123; } 别的 { 抛出错误方法(); } int var2 = var1; throwErrorMethod 的定义如下: 私人...

回答 5 投票 0

使用简单整数和内存大小的正确方法

我想知道使用简单整数和memsize的正确方法是什么?准确地说, 我有一个最初为 32 位架构编写的 C 代码。现在它必须遇到架构...

回答 2 投票 0

为“while(true)”发出编译器警告而不为“for(;;)”发出编译器警告有什么意义?

当我使用 Visual C++ 9 编译 C++ 代码时,“警告级别 4”如下: 而(真){ //在特定条件下循环体 } 以及以下内容: 为(;真;){ //同样的厕所...

回答 5 投票 0

出现在错误列表中的 Visual C++ 编译器故意警告?

如何在 Visual C++ 中有意创建编译器警告(在 #error 模型中,除非作为警告),该警告将显示在错误列表上并具有正确的文件和行号? 海湾合作委员会和其他

回答 2 投票 0

C 警告:函数‘fchmod’的隐式声明

我有一个使用 fchmod 的函数 createFile: int createFile(char *pFileName) { int ret; if ((ret = open(pFileName, O_RDWR | O_CREAT | O_TRUNC)) < 0) errorAndQuit(2); fchmod(...

回答 3 投票 0

为什么要更改 C++ 中特定警告的警告级别?

Visual C++ 具有 #pragma 警告功能,除其他外,还允许更改特定警告的警告级别。假设警告 X 默认为 4 级,那么之后 #pragma 警告( 3, X ) 它...

回答 5 投票 0

为什么编译器会抱怨对齐?

我想了解更多关于对齐的知识。为什么 Microsoft 编译器 (Visual Studio 2012 Express) 抱怨以下代码片段的对齐方式? __declspec(align(16)) 类...

回答 4 投票 0

为什么编译器在编译两个相似的类时输出不同?

以下是《C++ Primer 第五版》中的练习: 练习 14.26:为 StrVec、String、 StrBlob 和 StrBlobPtr 类。(P.566) StrVec 类编译时没有 ...

回答 2 投票 0

现实生活中是否存在 C4129 警告并不表示错误的情况?

Visual C++ 具有在如下代码中发出的 C4129 警告: 计算<< "\n\Nothing to do\n\n"; Here it's not really clear what the intent was - perhaps it should be \n\n at the st...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.