7

我正在尝试使用 G++ 4.6 在内存资源受限的 Linux 系统上构建 C++ 库。该库大量使用 Boost。

我在这里和其他网站上看到了有关编译速度的各种线程,但我对降低 G++ 对内存资源要求的提示和技巧感兴趣,即使这意味着失去速度。

编辑:我尝试过为 Boost 使用预编译的头文件,它只提高了构建速度,但仍然需要大致相同的内存量。

4

1 回答 1

6

您必须使用垃圾收集器设置。参数为ggc-min-expandggc-min-heapsize。还可以使用(或其他)设置您的 ulimitulimit 65536以减小堆大小(RLIMIT_AS)。

gcc 手册中有很多关于这方面的信息

一个好的设置可能是将 ggc-min-expand 参数设置为 0 并将 ggc-min-heapsize 参数设置为 8192 并尝试使用...

CXXFLAGS="$(CXXFLAGS) --param ggc-min-expand=0 --param ggc-min-heapsize=8192" 或一些这样的值。

于 2013-05-04T08:04:00.717 回答