【发布时间】:2019-12-25 15:25:02
【问题描述】:
除了“获得更多内存”之外,我还没有真正找到这个问题的可靠答案。有没有办法减少 g++ 在编译过程中使用的内存?我(出于某种原因)试图在具有 1GB 内存的 g4 mac mini 上编译 webkitgtk。它无法升级。当前的编译选项是
-Os -mabi=altivec -mcpu=native -mtune=native。
它有 1GB 内存和 1GB 交换空间,但内存不足。虽然理论上我可以继续添加交换空间,但实际上这会变得非常缓慢,我想尽量减少它。
【问题讨论】:
-
你有一个编码问题,而不是 gcc 问题。您可以尝试在 .h 文件中使用更多前向声明而不是 .h 文件包含,使用 pimpl 习惯用法隐藏实现,并减少模板的使用(和提升!)。
-
有一天我希望对 c 和 c++ 有足够的了解,以便进行类似的有用编辑。不过还没有。
-
您可以添加更多交换空间(大约 16+GB)。它会非常慢,但应该允许编译完成)。
-
@RavenKing 正如 Shloim 所说,您可以更多地使用前向声明,删除不必要的包含,减少模板使用(使用外部模板)等,以减轻痛苦。但归根结底,您必须接受编译任何大型现代 C++ 程序都非常占用内存。而一台 1GB 内存/1GB 交换机真的在 2019 年的开发工作相当动力不足..
-
较小的编译单元。
标签: c++ gcc g++ powerpc webkitgtk