问题标签 [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.
c++ - GCC 7 C++ 17 对折叠表达式的支持
以下代码段将在 GCC 8+ 中编译,但无法在 GCC 7 中编译。
声明的失败是参数包没有被扩展:parameter packs not expanded with '...'
.
检查GCC 标准合规性页面,GCC 7 应该支持折叠表达式。
我还需要另外一面旗帜std=c++17
吗?(我没有看到)
标准还没有完全实施吗?(我没有看到任何迹象)
我可以完成这项工作,或者这只是我将不得不解决的 GCC 7 错误?
boost - Boost 1.53 编译错误
我尝试在 WSL Ubuntu(Windows 10)上使用 boost-1.53、g++-7.4 编译一些源代码,但出现错误:
怎么了?
c - 不能用 gcc-7 编译
我正在尝试在 MacOS Catalina 上使用 GCC-7 编译一些代码。GCC-7 是使用自制软件安装的brew install gcc@7
代码如下:
我正在编译gcc-7 -Iinc/ -o lib/test.o -c src/test.c
输出是:
在我不包含 stdlib.h 的地方,它可以工作。我认为头文件中有问题。
c - 我无法与 gcc-7 链接
我有 3 个文件:
tester.c
, knnring_sequential.c
, knnring.h
.
我按以下顺序编译它们:
当我尝试与 gcc-7 链接时,我收到以下错误消息:
代码可以在这里找到https://github.com/alextsigilis/knnring/blob/master/src/knnring_sequential.c
怎么了?
gcc - conda install -c anaconda gcc_linux-64 没有被使用
我想在我没有 root 访问权限的服务器上安装更新版本的 gcc。我试过
conda install -c creditx gcc-7
哪个不起作用。然后我发现
conda install -c anaconda gcc_linux-64
其实安装的是gccv7.3。但是安装成功后,conda环境依然使用系统gcc at
/usr/bin/gcc
请帮助我,以便我可以使用我刚刚安装的 gcc v7.3。
c++ - Lambda 捕获、初始化器和嵌套结构
有人可以解释这里发生了什么(GCC 7.3):
当我捕获嵌套结构时,我得到:
'var' 未在此范围内声明
另一方面,捕获非嵌套结构有效。也可以使用初始化进行捕获。此外,所有案例都适用于 Visual Studio。
c++ - gcc 7.4.0 的奇怪 std::atof 错误
我在使用 Qt Creator(4.10) 作为 IDE / gcc 7.4.0 的 Ubuntu 18.0.4 中使用 std::atof 遇到了这种奇怪的行为:
当我从 QtCreator 以调试模式运行时,它会正常解析字符串。但是当我正常运行时它会落地。
具有此行为的示例代码:
从 IDE 正常运行的输出:
字符串值:3.0303
双值 - c_str(): 3
直接从可执行文件运行的输出:
字符串值:3.0303
双值 - c_str(): 3
带调试模式的输出:
字符串值:3.0303
双值 - c_str(): 3.0303
我已经尝试过 std::stof 和 std::strtof。两者一样。有人知道这个错误的原因或解决方法吗?
编辑: 我已经解决了这个问题,但仍然想知道这种行为的原因。
c++ - _Float16 的 C++ 支持
我想在原生支持半精度浮点的 Jetson AGX Xavier(使用 armv8.2 架构)上进行半精度浮点计算。由于 _Float16 数据类型是半精度浮点的算术数据类型,所以我编写了以下示例:
使用 gcc-7 我可以成功编译并运行它,但是使用 g++-7 我得到了错误:
根据this reference,C++似乎不支持_Float16。我想知道在 C++ 中使用 _Float16 数据类型是否有任何替代方法?
c++ - std::basic_string 每次都会破坏空终止吗?
最近,我将我的编译器从 gcc-4.3.x 更新到 gcc-7.x,然后我的一位测试人员遇到了 Assert 异常。
代码如下所示:
对于 gcc7.x 输出如下所示:
对于 gcc4.3.x 版本,输出为:
基本上我可以理解为什么它每次都调用 data() 的 Construct ,可能是因为空终止符。但我不明白为什么它每次都调用数据的析构方法。有没有人可以给我一个答案?
谢谢!
c++ - 为什么我用 std::variant 得到 std::bad_variant_access?
考虑:
这导致:
为什么?
我明白这std::variant
将是一个替代品union
。但是,如果这种基本的东西失败了,它有什么用呢?