问题标签 [gcc5]

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 投票
2 回答
764 浏览

c++11 - 为什么当我只有#include时它会编译错误

我将 gcc 升级到 5.4,除了 math.h 似乎没问题

当我写一个 hello.cpp 如下:

然后我用 gcc 5.4、g++ 5.4 编译上面的 cpp

发生错误

当我降级到 gcc 4.8、4.9 时,这个问题仍然存在

0 投票
1 回答
115 浏览

c++ - gcc5 和 gcc8 关于函数返回值的区别

我有两个工具:gcc5 和 gcc8。以下是片段代码

如果我使用 gcc5 编译并运行,则 foo() 调用会返回。但是,如果我使用 gcc8 编译并运行,则 foo() 调用不会返回。

我理解,foo() 中没有返回值,但至少函数应该返回。我认为 gcc8 要严格得多。但是为什么电话没有返回。

0 投票
1 回答
101 浏览

c++ - 在 GeeksforGeeks 平台上给出不同运行时间的两个等效代码?

我正在解决 GeeksforGeeks 上的一个问题,该问题涉及使用三个不同的数组元素作为三角形的边从大小为n的未排序数组arr[]中找到可能的三角形总数。这是上述问题的第一个实现。...

...上述实现是正确的,应该具有O(N^2)时间复杂度。对于上面的代码,我从 GeeksforGeeks 平台获得了一个TLE(Time Limit exceeded) ,预期时间限制=1.02 sec

现在将以下实现与上述实现进行比较。

实现仅在第二个for 循环内的while 循环中有所不同。我通过使用逻辑 AND 操作将if 条件while 主体内部移动到条件声明部分。时间复杂度与第一个实现相同:O(N^2)

但是,这个实现被GeeksforGeeks接受,时间为 = (0/1.0)

有人可以告诉我为什么两段等效代码之间存在如此大的性能差异。这是由于 GeeksforGeeks 平台还是由于 C++ 语言的特性。GeeksforGeeks 使用g++5.4编译器

链接:https ://practice.geeksforgeeks.org/problems/count-possible-triangles-1587115620/1

0 投票
1 回答
100 浏览

assembly - 如何防止 GCC 生成 x86_64 kmov 指令?

我正在使用无法识别kmov指令的第三方 x86_64 汇编程序(它只支持 x86_64 指令集的子集)。

向汇编器提供 GCC 5.1 生成的汇编文件(我无法更改版本),然后它解析和汇编代码以生成 ELF 目标文件。它可以编译相当大的代码库。

我正在尝试编译一个非常简单的纯 C 代码库,但 GCC 不断生成kmov指令。我搜索了一下,看起来它们是 AVX512 扩展,但我不确定!

我正在寻找一种方法来告诉 GCC 不要生成这些指令。我使用了这些 GCC 选项:

但它仍在生成它们!那么这些kmov指令是什么?我怎么能告诉 GCC 5.1 不生成它们?