问题标签 [gcc-warning]

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 投票
3 回答
137 浏览

c - 我不能让 gcc 工作

我必须编译一个 matlab 工具箱附带的 .c 文件。

为此我下载了xcode 3.1.4,现在我正在尝试类似的命令

并得到类似的错误

0 投票
2 回答
392 浏览

c++ - 编译器检测返回对局部变量的引用

由于返回对局部变量的引用,我刚刚被一个令人讨厌的未定义行为所困扰。

我们知道这是邪恶的,通常编译器会打印出一个很好的信息warning来告诉我们......不过 gcc (3.4.2) 似乎并没有将检查推得太远。

这编译没有故障,但我们陷入了未定义行为的令人讨厌的领域。

[1]是可以的,因为标准规定绑定到 const 引用的变量的生命周期应该延长以匹配 const 引用的生命周期。

线[2]好像也不错。。。

  • C++ 规范是否涵盖这种情况?
  • 有谁知道这是否通常被诊断出来?(我可能会错过一面旗帜或其他东西......)

在我看来,静态分析应该能够说明对 , 使用“终身扩展”是不安全的,但我猜它可能会迅速变得丑陋[1]......[2]

0 投票
1 回答
1282 浏览

c - 为什么没有为此代码生成严格别名警告?

我有以下代码:

我正在使用以下命令行编译代码:

我正在使用 GCC 4.5.0。我希望编译器打印出警告:

但它从来都不是。对于其他情况,我可以打印出警告,但我想知道为什么在这种情况下不是这样。这不是打破严格别名规则的明显例子吗?

0 投票
2 回答
226 浏览

c++ - g++ -Wall 不应该是这些警告吗?

我只是好奇以下代码是否应该由 g++ 编译器引起警告:

问题是这样的语句存在于我处理的遗留代码中:-|,我想应该有一些警告?

我有 g++-4.4.3c

0 投票
2 回答
155 浏览

c - C中的无警告模板

从 C++ 过渡,我现在正在学习 C 的黑暗艺术,并开发了以下代码来代替我对模板的需求。在底部的示例中,我已经实现了您的普通节点结构,它可以用于存储任何数据类型。考虑以下...

同样,问题在于此代码的无警告编译——即使用 gcc 编译器,尽管我的 Windows 版 wxDevCpp 也给了我一些警告,但对它不那么挑剔。我把它归咎于 GUI。

任何帮助将不胜感激。

0 投票
3 回答
427 浏览

c++ - 未检测为未使用的变量

我正在使用 g++ 4.3.0 来编译这个例子:

如果我以最大警告级别编译示例,我会收到未使用变量b的警告:

问题是:为什么变量a没有报告为未使用?我必须传递哪些参数才能获得变量a的警告?

0 投票
2 回答
2393 浏览

c - 如何检查结构中未使用的成员?

如果我声明并且从不使用变量,那么 gcc 会给我一个警告。

但是如果我有一个包含多个成员的结构并且其中一些没有使用,gcc 不会警告它......

是否有选项(或其他方法)来检查这些?

(当然我可以手动删除一些条目并尝试重新编译,但我正在寻找这种方法)。

谢谢

0 投票
3 回答
187 浏览

linux - 我可以在 linux 中编辑 GCC 的打印输出吗?

我希望错误消息以不同的颜色打印到终端,这是否可能以及如何?

我想用红色打印“错误”一词,用黄色打印“警告”。

谢谢你。

0 投票
1 回答
679 浏览

objective-c - Xcode 警告:“属性”'及其超类'' 没有匹配的 'atomic' 属性"

在编译几个将现有 Cocoa 类作为子类的类时,我收到 Xcode 警告。例如下面的类

-

产生三个警告

警告:属性“偏航”及其超类“CMattitude”没有匹配的“原子”属性

警告:属性“pitch”及其超类“CMattitude”没有匹配的“原子”属性

警告:属性 'roll' 及其超类 'CMattitude' 没有匹配的 'atomic' 属性

为了创建能够像超类一样运行的 CMMotionManager 和 CLLocationManager 子类,所有相关子类都是必需的,仅从 csv 文件加载它们的数据。我对它们进行子类化的唯一原因是获得访问(或覆盖)它们的只读属性。如果无法设置这些属性,我将无法返回与真正的 CMMotionManager 和 CLLocationManager 类相同的对象。

目前,除了必须使用#pragma 忽略稍微困扰我的警告之外,一切正常。

有谁知道为什么会产生这个警告?鉴于属性未设置为非原子(原子是默认值),我完全不知道。

为了使这些属性是原子的,我需要明确做些什么吗?

0 投票
4 回答
11829 浏览

c - 禁止“ISO C99 需要使用其他参数”

考虑以下两个宏:

现在考虑使用这些的示例:

当使用 -pedantic 选项和 -std=c99 编译时,我多次收到此错误:

编译器对此的抱怨是正确的,但有没有一种简单的方法可以抑制这个警告,因为我不关心它?