c++ - 减少 boost build 中的内存使用

标签 c++ linux boost g++ boost-build

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

我在这里和其他网站上看到过各种关于编译速度的话题,但我对降低 G++ 对内存资源要求的提示和技巧很感兴趣,即使这意味着速度下降。

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

最佳答案

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

gcc manual here 中有很多相关信息

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

CXXFLAGS="$(CXXFLAGS) --param ggc-min-expand=0 --param ggc-min-heapsize=8192"或类似的值。

关于c++ - 减少 boost build 中的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16371939/

相关文章:

C++,从函数返回字符串; boost::asio 读/写

boost - 在 CentOS : can't find Boost 1. 40 或更高版本上安装 Thrift

c++ - boost::filesystem 获取相对路径

c++ - 实现线程锁时真的需要原子性吗?

c++ - 具有多态性的模板特化

c++ - Linux进程间传输socket

linux - 有没有办法确定 Linux 中的 UFS 类型?

c++ - 如何在MFC中显示文件的所有行

c++ - 如何在 gcc v4.1.2 中获取 unordered_set 的 header ?

linux - Bash : Adding thread-capability to this bash function, 所以它更快