链接时 GCC 内存过载

GCC Memory Overload when Linking

本文关键字:内存 GCC 链接      更新时间:2023-10-16

免责声明:请不要嘲笑我的机器。这是我目前所拥有的和负担得起的。

Legacy Bios Dell Mobo
Athlon II X4 640 Processor
4Gb DDR3 Ram
500Gb HHD

世界您好!在过去的一周半里,我一直在尝试使用 cmake/ninja 和 gcc 或基本存储库中默认版本的 clang 编译 llvm/clang-tools。

每次我尝试时,他们的编译器都会崩溃,我顽固地重新开始。 起初,我一直在重新分区和重新安装 Ubuntu,直到我添加了 12Gb 的交换分区,但我有一个不稳定的系统和一个无法完成工作的编译器。

我停在那里,并决定我应该在操作系统上尽可能轻巧地再试一次(认为这将使系统更稳定,臃肿更少(。 我用最小的构建和动态交换文件安装了 Arch Linux。没有放弃的想法,我继续编译。现在我仍然遇到相同的内存过载,但操作系统能够管理它并在没有我进行硬重启的情况下启动进程。 我认为这是朝着正确方向迈出的一步。

来自Visual Studio,我是编译器标志的处女。

这是我的构建:

默认为缓存。

$ cmake -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../llvm
$ ln -s $PWD/compile_commands.json ../llvm
$ ninja -j2 check-all

在单线程"$ make ....."上仍然有内存过载。

除了花 20 美元填写最后 2 个 ram 插槽(我的妻子确实允许我在生日时这样做(之外,像我这样的穷人能做些什么来访问这个有价值的工具并回去编译我自己的C++代码?

如果你真的需要最新和最好的,你可以使用预打包的clang/llvm版本(你吗?(。看看这里 拱门 : https://aur.archlinux.org/packages/clang-svn/.