问题标签 [gcc7]

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 回答
141 浏览

c - 使二进制文字看起来更清晰的分隔符

我正在尝试以更清晰的格式编写二进制文字。

我知道可以对整数文字执行以下操作:

我认为这适用于二进制文字,所以我尝试了:

对于第一个下划线之后的所有内容,这给了我一个“无效的后缀”错误。

是否有下划线的替代方法可以让我以更简洁的方式编写二进制文字,而不仅仅是:

0 投票
0 回答
51 浏览

c++ - 使用不同编译器/环境的 boost 序列化的运行时问题

我有一段代码可以序列化文件中的结构。

现在从同一台计算机上的不同程序读取序列化对象

此代码在我的 macbook(clang 编译器)上按预期运行,但实际上在 pc(gcc 7.5)上崩溃。我在两种情况下都使用相同的 cmake 脚本构建代码。抛出的异常是

我只是想知道问题可能是什么(以及解决方案是什么样的!)有什么建议吗?

编辑:回答关于我定义一个参数类的类的评论

一组参数组成一个节点

和一个 std::vector 的节点使模型

为了完整起见,这里是模型头的包含部分

0 投票
1 回答
78 浏览

c++14 - boost::hana::is_valid 无法使用 gcc8(及更多)和 --std=c++14 编译

我将此代码与std=c++14and一起使用gcc7.3

它工作正常:演示

如果现在我使用 gcc10.1,我得到这个错误:demo fail


我的问题是:gcc7.3 是否对 C++14 过于宽容,并且is_valid在不应该使用的情况下工作,或者 gcc8 以及更多添加 C++14 的错误?

0 投票
0 回答
43 浏览

c++ - 在多线程代码中使用的这个 C++ Singleton 中可能发生了什么以及如何修复该行为?

有这个简单的单例函数:

首先,它每次都正确初始化(我有检查它的断点),并通过以下方式从多个线程多次调用它:

或者

基本上,它使用了这个答案的实现:https ://stackoverflow.com/a/1008289/1423254 ,我个人多次使用它,认为它是线程安全的,应该根据:https:// stackoverflow.com/a/1661564/1423254

该代码适用于生产环境,但不适用于我的笔记本电脑本地,通常在返回的配置中有一些垃圾:

不正确的数据

那里发生了什么以及如何解决它,所以我没有得到那些垃圾数据?

我什至尝试在整个Singleton函数体内放一个锁,但没有帮助。

我们64bit GCC 7.5.0用于编译。

编辑:我应该补充一点,多个线程Singleton正确调用该函数,只有 1 个单独的线程存在问题,有时会返回垃圾。

0 投票
0 回答
45 浏览

c - 为什么在使用 vmovl_u8 指令时出现汇编错误?

我有以下 armv8-a 代码,但出现汇编错误。我无法找出错误

在 gcc 7.4.0 版本上编译时出错(命令使用 gcc -O3 main.c):

我有类似的代码,不使用 vmovl_u8 指令并成功编​​译。使用 vmovl_u8 指令时出错。请帮我。

0 投票
0 回答
39 浏览

gcc - 为什么在使用 armv8-a 的 vmovl_u8 指令时出现汇编错误?

我有以下 armv8-a 代码,但出现汇编错误。我无法找出错误

在 gcc 7.4.0 版本上编译时出错(命令使用 gcc -O3 main.c):

我有类似的代码,不使用 vmovl_u8 指令并成功编​​译。使用 vmovl_u8 指令时出错。请帮我。

0 投票
1 回答
95 浏览

c++ - GCC 7.3.0 链接线程库使用 -static 是否存在错误?

我在我的代码中使用 std::call_once ,它编译成功但在运行时崩溃了......就像这个演示:

后来我发现,如果我用 -static 编译,它会崩溃,但只用 -pthread 或 -lpthread 运行成功: 在此处输入图像描述

0 投票
0 回答
190 浏览

gcc - 针对不同操作系统的交叉编译 GCC

我需要为 x86-64 suse 主机和 x86-64 旧 suse 主机构建一个“交叉”编译器。两台机器的 gcc 和 glibc 版本非常不同。

我正在关注本指南https://www6.software.ibm.com/developerworks/education/l-cross/l-cross-ltr.pdf并希望将 gcc 链接到 glibc 而不是 newlibc。

我的问题是第一阶段 gcc 的命令

导致zlib的make过程出错:

我尝试交叉编译的 gcc 版本是 7.5.0,这是我在主机上本地拥有的版本,所以我认为这将是最佳选择。

0 投票
1 回答
87 浏览

c++ - GCC 7.3 是否包含所有 c++17 功能?

我正在尝试通过 CMake 命令构建使用 c++17 方言的 CMake 项目:

我看到它设置了编译器标志“-std=c++1z”,但我仍然收到错误,表明 c++ 方言不足:

错误:未在此范围内声明“减少”错误:未在此范围内声明“to_chars_result”

假设来自 c++ 17

当我用 Windows 构建这个项目时,它会编译

0 投票
1 回答
57 浏览

linux - 为什么我在尝试使用通过 ld --verbose 获得的默认链接器脚本时得到 /usr/bin/ld: internal error ../../ld/ldlang.c 4986?

找出某个变量在内存中的位置我希望在 .data 旁边创建一个新部分,然后使用 PROVIDE。第一步是获取当前的链接器脚本,ld --verbose然后用它来链接-T amd64.ld(amd64.ld 是我保存 ld --vebose 输出的文件)期望我会得到与什么时候相同的最终 ELF没有给出链接描述文件参数 (-T)。但是构建失败并出现 /usr/bin/ld: internal error ../../ld/ldlang.c 4986

使用 gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 和 GNU ld (GNU Binutils for Ubuntu) 2.30

任何人都知道如何与默认链接器脚本链接?