问题标签 [compiler-warnings]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
47401 浏览

c# - 自定义编译器警告

在 .Net 中使用 ObsoleteAtribute 时,它​​会给您编译器警告,告诉您对象/方法/属性已过时,应该使用其他东西。我目前正在从事一个需要大量重构前雇员代码的项目。我想编写一个自定义属性,我可以使用它来标记方法或属性,这些方法或属性将生成编译器警告,这些警告会给出我编写的消息。像这样的东西

我希望这会生成一个编译器警告,上面写着“此代码 sux 并且应该查看”。我知道如何创建自定义属性,问题是如何使其在 Visual Studio 中生成编译器警告。

0 投票
6 回答
6607 浏览

visual-c++ - 使用 Microsoft 的 Visual C++ 编译器时,gcc 是否有与 -pedantic 等价的功能?

我想使用 Microsoft Visual C++ 编译器将我的警告设置为最高级别。类似于在 gcc 上使用 -pedantic。您使用哪些编译器开关来启用最多警告?

0 投票
2 回答
2013 浏览

c++ - 我可以让 GCC 在将过宽的类型传递给函数时发出警告吗?

以下是一些明显有缺陷的代码,我认为编译器应该对其进行诊断。但是,即使有我能想到的所有警告选项,gcc也没有:g++-pedantic -Wall -Wextra

有没有办法对此提出gcc警告g++?附带说明一下,您是否有另一个编译器在默认情况下或在相当常见的额外警告配置中对此发出警告?

注意:我使用的是 GCC(C 和 C++ 编译器)版本 4.2.4。

编辑:我刚刚发现它gcc -Wconversion可以解决问题,但相同的选项g++不会,而且我真的在这里使用 C++,所以我需要一个解决方案g++(现在我想知道为什么-Wconversion似乎不是这样)。

编辑:http ://gcc.gnu.org/bugzilla/show_bug.cgi?id=34389建议这可能会在g++ 4.4......也许?我还不清楚它是否是同一个问题和/或修复是否真的出现在那个版本中。也许有 4.3 或 4.4 的人可以试试我的测试用例。

0 投票
2 回答
1494 浏览

.net - .NET 中非 CLS 兼容代码的后果是什么?

对于我从 VB6 移植的应用程序,我有几个关于 CLS-Compliance 的令人讨厌的编译器警告,包括:

尽管如此,我的应用程序似乎在 COM 和托管客户端上运行良好。我已经看过几篇描述如何使代码符合 CLS 的文章,我可能会继续这样做以摆脱烦人的警告,但我很好奇不符合 CLS 的代码在实际中的缺点是什么条款?我还没有发现这种强加的限制是什么?

0 投票
4 回答
59204 浏览

c - 宏名称的有效字符是什么?

C 风格的宏名称是否遵循与标识符相同的命名规则?编译器升级后,它现在针对旧版应用程序发出此警告:

这行代码为 & 符号定义了一个 ASCII 值常量。

我假设这个定义(据我所知,实际上并没有被任何代码引用)是错误的,应该更改为“CHAR_AMPERSAND”之类的东西?

0 投票
1 回答
2034 浏览

c++ - Visual Studio 2005 (C++) 默认警告级别

我正在使用 MS Visual Studio 2005 进行 C++ 的新开发。为此,我需要在我的解决方案中添加几个新项目。我总是将警告级别设置为 4,并打开“将警告视为错误”(项目 -> 属性 -> C++ -> 常规)。

有没有办法告诉 Visual Studio 这是我的默认设置,所以我不必为我创建的每个新项目都这样做?

0 投票
8 回答
97243 浏览

gcc - 如何在 GCC 中隐藏“已定义但未使用”的警告?

我有一堆编译时断言,例如:

使用 GCC 编译时,我收到很多警告,例如'prefix_LineNumber' defined but not used. 有没有办法可以隐藏编译时断言的警告?我没有运气搜索 GCC 文档。我想我可能会在同一个宏中自动全局使用 var,但我想不出任何方法来做到这一点。

有谁知道在 GCC 中隐藏该警告的方法?

0 投票
7 回答
9837 浏览

c++ - 警告 C4099:第一次看到使用“类”的类型名称现在使用“结构”看到(MS VS 2k8)

这个警告有什么可担心的吗?我读过它会导致不稳定的行为?

这是我正在尝试编译的示例,有人可以向我解释为什么作者将对象声明为类,然后将 typedef 定义为结构吗?如果班级是POD这样做是完全正常的吗?

谢谢。

0 投票
1 回答
1244 浏览

gcc - gcc 编译时注释/msg

我知道 MSVC 可以通过编译指示消息执行此操作 -> http://support.microsoft.com/kb/155196
gcc 是否有办法打印用户创建的警告或消息?(我找不到谷歌的解决方案:()

0 投票
7 回答
12934 浏览

c++ - 使 GCC 和其他 C++ 编译器非常严格

我正在开发一个大型协作 C++ 项目,该项目在各种 Linux、OS X 和 Windows 上开发和运行。我们使用 GCC、Visual Studio C++ 和英特尔 C++ 编译器在这些平台上进行编译。随着越来越多的人开始为项目开发代码,我们开始在编译和运行时看到奇怪的错误,这些错误是特定于特定操作系统上的特定编译器的。这方面的一个例子是隐含包含某些 OS/编译器对似乎为您找到的标头,意外地从派生类的基类中重载了函数。

我的目标是让 GCC 上的编译更加严格,并在所有平台上捕获更多错误,这样我们就不会一直遇到这些问题。这是我正在考虑尝试通过 Google 和 GCC 手册页找到的 GCC 的标志列表:

人们用来使 GCC(以及不太重要的 Visual Studio C++ 和英特尔 C++ 编译器)遵循更严格的 C++ 语言标准的其他标志是什么?请具体说明您正在谈论的编译器和版本,因为其中一些可能不会在所有编译器的所有版本中实现。