我正在尝试使用G ++ 4.6在具有受限内存资源的Linux系统上构建C ++库。该库大量使用Boost。
我在这里和其他网站上看到了有关编译速度的各种线程,但我对使G ++对内存资源要求不高的提示和技巧很感兴趣,即使这意味着速度慢。
编辑:我尝试使用Boost的预编译头文件,它只提高了构建速度,但仍然需要大致相同的内存量。
答案 0 :(得分:6)
您必须使用垃圾收集器设置。参数为ggc-min-expand
和ggc-min-heapsize
。同时使用ulimit 65536
(或其他)设置ulimit以减小堆大小(RLIMIT_AS)。
一个好的设置可能是将ggc-min-expand参数设置为0,将ggc-min-heapsize参数设置为8192并尝试使用...
CXXFLAGS =“$(CXXFLAGS) - param ggc-min-expand = 0 --param ggc-min-heapsize = 8192”或某些此类值。