问题标签 [gcc9]

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 投票
0 回答
57 浏览

c++ - GCC9 编译器比 GCC6 慢?有什么可能的解决方案?

GCC9 编译器比 GCC6 慢?有什么可能的解决方案?

通常编译需要 5 分钟,但现在升级到 GCC9 后需要 20 分钟编译。

任何人都可以建议灵魂吗?

0 投票
0 回答
59 浏览

gcc - 错误:“asm”操作数具有不可能的约束 (A53) - gcc 9.3.1

这是读取 64 位地址空间的代码。gcc 9.3.1 出现问题,早期版本的 gcc 没有问题

我也不了解这个大会和学习。有人可以帮忙吗。

0 投票
1 回答
37 浏览

c - 给函数一个结构指针时的段错误

我有一个看起来像这样的函数:

接受这个结构:

当我尝试在这样的主函数中调用它时:

我得到一个段错误。段错误发生在函数 lexWhitespace 甚至运行任何东西之前,因为它不打印“he”。我不知道为什么会这样。任何帮助将不胜感激。我正在使用 gcc 9.3.0。

0 投票
1 回答
49 浏览

foreach - CMake Release和Debug运行不同的std :: for_each单线程/多线程c ++ 17

您好,我正在执行 std::foreach ,例如:

当我使用 DEBUG 版本(cmake -DCMAKE_BUILD_TYPE=Debug ..)构建时,它使用多线程运行(我可以使用 htop 检查它)但是当我使用 RELEASE 版本(cmake -DCMAKE_BUILD_TYPE=Release ..)构建时,它使用单线程运行线

它有什么我必须检查的吗?

我正在使用 c++17 / g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0

0 投票
3 回答
78 浏览

c - 将声明为 long 的文字分配给 c 中的 int 时是否没有 gcc 警告?

我可以编译并运行一个程序,该程序将一个 long int 文字(尽管它适合 int)分配给一个 int 变量。

我知道 1234 适合 int 但仍希望能够启用警告。我已经通过了所有gcc 选项,但找不到任何合适的。

是否可以针对这种情况生成警告?从这里的讨论和 gcc 选项来看,简短的回答是否定的。这是不可能的。

这样的警告有什么意义吗?在我发布的简单示例中,很明显 1234L 被分配给一个 int 变量,并且它适合。但是,如果声明和赋值被多行代码分开怎么办?编写 1234L 的程序员发出信号,表示他们希望将这个字面整数分配给 long。否则,附加L有什么意义?

在某些情况下,附加 L 确实会产生影响。例如

尽管编译器必须知道 1234L 可以放入 4 字节的 int 中,但它会将其放入 8 字节的长度中。

0 投票
0 回答
64 浏览

c - 警告:获取“结构详细信息”的打包成员的地址可能会导致指针值未对齐 [-Waddress-of-packed-member]

警告:获取“结构详细信息”的打包成员的地址可能会导致指针值未对齐 [-Waddress-of-packed-member]

GCC 在 >9 版本中给出此警告。如何在不使用 [-Wno-address-of-packed-member] 的情况下消除此警告