我试图从Boost库,即从与“pool_allocator”类的帮助下池分配的小对象的内存添加到我的项目,而有限的功能,并发现我需要添加到项目dependendencies 4调试静态库文件和4发布静态库文件。 需要像这样的一行IE 8的库文件的依赖性:
boost::container::vector<int, boost::pool_allocator<int> > v;
有没有办法来使用这些类不链接到静态库? (可能是模板参数的某种组合?)
我试图从Boost库,即从与“pool_allocator”类的帮助下池分配的小对象的内存添加到我的项目,而有限的功能,并发现我需要添加到项目dependendencies 4调试静态库文件和4发布静态库文件。 需要像这样的一行IE 8的库文件的依赖性:
boost::container::vector<int, boost::pool_allocator<int> > v;
有没有办法来使用这些类不链接到静态库? (可能是模板参数的某种组合?)
我所了解的升压池:不使用它。 图书馆是太旧(升压1.54所有文件都有版权2000年和2001年,除了pool_alloc.hpp,这是在2010年编辑)你可以看看这里的有关性能的问题(去找詹姆斯甘孜的答案)。 如果你只想使用升压,我会建议使用另一个库。 如果你需要一个自定义的分配器,做基准。
编辑:
从池实况 :
在一般情况下,当你需要一个更有效的方式做到不寻常的内存控制使用的池。
所以qustion是究竟是什么不寻常的存储控制? 它是否满足您的特殊需要的内存? 安德烈Alexandrescu的写在“现代C ++设计”大约内存分配,并且有可能根据分配和释放模式非常不同的要求。 但是,根据该文件 ,他不相信这是一个很好的篇章。
所以对我的最后一个问题是阉羊池比的std ::更好的分配问题内存管理? 你必须messure它。 即使在游泳池中实现痘痘逻辑有可能是在您的实现中使用的内存管理更高效的算法。 顺便说池的错误之一是“权利文档升压池库,它不仅标题” 。
确定从升压requried文件,并将它们添加到您的项目单独,或一个.cpp添加到您的项目#包括是在requried的.cpp的。 (并不推荐)
要么
由脚本生成您的项目文件,以便将这种依赖是很容易。 这一设置是一种痛苦,但拥有它是伟大的