35得票4回答
处理gcc的noexcept类型警告

考虑这个例子,来自bug 80985: template <class Func> void call(Func f) { f(); } void func() noexcept { } int main() { call(func); } 如果启用了所有警告...

27得票2回答
std::unordered_map::merge()的安全性

在编写目标为C++17的代码时,我遇到了一个障碍,无法确定合并两个兼容的std::unordered_maps操作的异常安全性。根据当前工作草案,§26.2.7,表91部分内容如下,关于a.merge(a2)的条件: 要求: a.get_allocator() == a2.get_allo...

21得票5回答
C++1z动态异常规范错误

我正在尝试使用新的GCC版本7.2.1编译我的项目,但在动态异常规范方面遇到了问题:error: ISO C++1z does not allow dynamic exception specifications MEMORY_ALLOC_OPERATORS(SQLException) 问...

21得票2回答
为什么在GCC中包含<utility>会破坏结构化绑定?

考虑:struct Point { int x, y; }; int main() { const auto [x, y] = Point{}; } 这段代码在使用gcc 7.1编译时,在C++17模式下编译良好。然而,这一段:#include &lt;utility&gt; st...

16得票1回答
在Ubuntu 18.04下,gdb中的LeakSanitizer无法工作?

最近我将Linux开发虚拟机从Ubuntu 16.04升级到了18.04,注意到有一件事情已经改变了,这是在x86-64上的。在16.04中,我总是按照以下方式工作流程:使用gcc(5.4,16.04的存储库版本)和-fsanitize=address以及-O0 -g构建我正在开发的项目,然后...

14得票2回答
在Fedora 26上,gcc 7.1.1的dumpversion现在默认只包括主要版本。

在从 Fedora 25 升级到 26 后,默认的gcc版本现在是 7.1.1 版本,gcc -dumpversion 的输出已从 major.minor.patch 更改为仅显示主要版本号。 新输出:$ gcc -dumpversion 7 手册说明: 使用"-dumpversion"命...

10得票4回答
gcc-7: 错误: 无法识别的命令行选项‘-m64’。

在Jetson Nano上编译C代码时出现错误。我尝试删除任何包含'm -64'的内容,但似乎它会自动添加。这是导致失败的命令: /usr/bin/gcc-7 -Wall -Wextra -Wconversion -pedantic -Wshadow -m64 -Wfatal-errors...

7得票3回答
gcc7.2: 参数范围超过最大对象大小9..7 [-Werror=alloc-size-larger-than=]

该程序包含以下代码: int size; ... int *pi = (int*)calloc(size, sizeof(int)); ... 使用gcc7.2编译时出现以下错误信息: 错误:参数1的范围[18446744071562067968,184467440737095516...

7得票1回答
"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环境仍然...