1

我正在使用相当多的表格容器

boost::bimap<boost::bimaps::multiset_of<std::string>, boost::bimaps::set_of<AnEnum> >

我在包含在相当多的 cpp 文件中的头文件中定义它们(这是在我尽可能限制头文件的公开之后)。在调试版本中创建的 .a 文件运行到 1 GB 以上(由于“设备上没有空间”错误导致编译中途停止,并且编译时间自然呈指数增长。

使用的编译器是 gcc 4.8.1。只是想知道是否有人遇到过 boost::bimap 的问题以及他们为解决此问题所做的工作

4

1 回答 1

2

我很可能每次你bimap在不同的文件中使用这样的一个,它是专门导致大量代码重复的。如果您正在使用,c++11那么您应该将它们声明为extern template,并将其专门用于一个文件。请参阅使用外部模板 (C++11)

于 2014-03-04T08:19:46.330 回答