问题标签 [gcc-pedantic]

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 投票
1 回答
293 浏览

c++ - 使用固定宽度整数时的 C++98 迂腐错误

我的公司正在从 C 慢慢转向 C++98。C++98 是 C 的超集,所以这应该不是问题,但确实如此。printf与 pedantic、警告标志和指定 32 位环境的代码结合使用时,无法打印 64 位固定宽度整数。

我需要打印的数字是uint64_t. 而且我了解使用PRIX64时的用法printf。但是,一旦在编译时添加了额外的标志,就会出现错误。

我查看了标题,看看是否有什么奇怪的地方,但一切看起来都很好。我不确定为什么在 C 中使用这种组合而不是在 C++ 中。当然,解决这个问题的正确方法是开始使用std::cout,但是要编辑的代码太多,一次完成所有工作是不可行的。

下面显示的最小示例(print.cpp):

用于编译它的命令:

预期结果:没有错误,打印数字。结果:

0 投票
0 回答
121 浏览

c - 使用 G_DEFINE_BOXED_TYPE 的迂腐警告

我最近在我的一个使用 GLib 的应用程序中遇到了以下警告:

我通常编译,-wpedantic这是我第一次收到无法追溯到我的代码的警告,但似乎是由_G_DEFINE_BOXED_TYPE_BEGIN-macro 的内部引起的。G_DEFINE_BOXED_TYPE每当与专用的免费或复制功能一起使用时,似乎都会出现警告。

示例应用程序可能如下所示:

我使用的是 glib 2.62.4,但即使使用来自 git.gnome.org 的最新版本进行编译,我也可以重现该警告。

有没有其他人在使用 GLib2.0 时遇到过这个警告并找到了解决方法?还是警告确实与我的代码对上述宏的错误使用有关?

0 投票
1 回答
360 浏览

c++ - C++ g++ - 迂腐警告

我正在学习 Bjarne Stroustrup 的书“使用 C++ 编程原理和实践”。我从这里下载了他的头文件,并在 Windows 上的 VSCode 中使用了以下编译命令:

编译器抛出了一堆错误:

我的问题是:

  1. 删除第 222 行的分号是否正确?有问题的代码:
  1. 什么是可能的解决方法unsigned expression < 0 is always false
  2. 将来使用 g++ (mingw64) 应该注意什么?如果可能的话,有哪些资源可以学习如何有效地使用 g++ 编译器?

要编译的代码只是一个简单的hello world。谢谢

0 投票
1 回答
30 浏览

c - 如何使用 fread 函数从文件中下载不受限制的行?

我有一个问题如何在不指定此行大小的情况下从文件中下载一行文本?我不想使用 fgets,因为您必须提前将 fgets 提供给角色。我可以加载整个文件,但不能加载一行。

0 投票
1 回答
25 浏览

c - 下载数据的问题 - 正方形的顶点

我想写一个程序,你给正方形的两个顶点,然后程序找到另外两个。

例如:

输入:

2 3 4 5

输出

(3,6) (0,5)

但是当它从程序中读取数据时我遇到了问题,一切正常

但是当从用户那里读取数据时,我收到了这条消息

“线程 1:EXC_BAD_ACCESS(代码=1,地址=0x0)”

在这个地方:

if (scanf("%d/%u",&(a->n), &(a->d)) == 1) a->d=1;

所有代码:

我不知道怎么解决

0 投票
2 回答
58 浏览

c++ - 如何将变量作为参数放入 system()

我正在尝试sleep 1在我的 .cpp 文件中包含 bash 中的命令
虽然system("sleep 1")工作正常,但我想更改1const int字符串

但是,似乎system(c)被视为对函数的调用,因为发生以下错误:

我该如何解决这个问题?

0 投票
3 回答
179 浏览

c - gcc:-pedantic 没有找到的非 ISO 实践的例子有哪些?

https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html

一些用户试图用它-Wpedantic来检查程序是否符合严格的 ISO C 标准。他们很快发现它并没有完全达到他们想要的效果:它找到了一些非 ISO 实践,但不是全部——只有那些 ISO C需要诊断的实践,以及已经添加了诊断的其他一些实践。

有哪些非 ISO 实践的例子,它们没有被-pedantic?