Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Boost.Container`dlmalloc`和`jemalloc`_Boost_Jemalloc_Boost Container - Fatal编程技术网

Boost.Container`dlmalloc`和`jemalloc`

Boost.Container`dlmalloc`和`jemalloc`,boost,jemalloc,boost-container,Boost,Jemalloc,Boost Container,我在我的项目中引入了Boost.Container,它使用jemalloc作为默认分配器,看起来像Boots。Container使用自定义分配器,即dlmalloc,当然,在链接时,由于在对象文件中引入了两个“XXXalloc”,我在“多定义”链接错误上失败。关闭“jemalloc”不是一个选项,但我无法找到是否可以关闭dlmalloc用法。你知道如何解决这个问题吗?实际上,Boost容器只有99%的头 文档将DLMalloc扩展列为一个扩展: 这意味着您显然选择了扩展分配器。如果这不是你想要的

我在我的项目中引入了Boost.Container,它使用
jemalloc
作为默认分配器,看起来像Boots。Container使用自定义分配器,即
dlmalloc
,当然,在链接时,由于在对象文件中引入了两个“XXXalloc”,我在“多定义”链接错误上失败。关闭“jemalloc”不是一个选项,但我无法找到是否可以关闭
dlmalloc
用法。你知道如何解决这个问题吗?

实际上,Boost容器只有99%的头

文档将DLMalloc扩展列为一个扩展:

这意味着您显然选择了扩展分配器。如果这不是你想要的,你知道该删除什么

一个很好的提示是,当您不需要链接Boost容器时,因为对导出的符号的快速检查并没有显示任何我能识别的东西,除了分配器的东西


实际上,Boost容器只有99%的头

文档将DLMalloc扩展列为一个扩展:

这意味着您显然选择了扩展分配器。如果这不是你想要的,你知道该删除什么

一个很好的提示是,当您不需要链接Boost容器时,因为对导出的符号的快速检查并没有显示任何我能识别的东西,除了分配器的东西


事实上,我没有选择加入,这感觉就像默认情况下它被使用。仍然不确定,构建需要花费很长时间,但感觉它与
USE\u-DL\u-PREFIX
defineOk有关,看起来像是定义
USE\u-DL\u-PREFIX
成功了。我说得对吗,您的默认构建(显然)是默认定义的?您是使用
bjam
构建的吗?到目前为止,我从未链接过库,我只是检查了使用这些扩展分配器示例时是否必须链接。那是你的选择!(但是如果
使用_DL_PREFIX
可以解决您的问题,那么一定要发布答案。)啊哈!找到它时,项目中使用了单调的缓冲区资源,因此,在这种情况下,必须构建并链接库。我想当Boost.Container不作为“headers only”库使用时,这是非常罕见的情况。我不想搞乱它,检查是否可以从构建中排除分配器,我只会坚持定义。事实上,我没有选择加入,这感觉就像默认情况下使用它一样。仍然不确定,构建需要花费很长时间,但感觉它与
USE\u-DL\u-PREFIX
defineOk有关,看起来像是定义
USE\u-DL\u-PREFIX
成功了。我说得对吗,您的默认构建(显然)是默认定义的?您是使用
bjam
构建的吗?到目前为止,我从未链接过库,我只是检查了使用这些扩展分配器示例时是否必须链接。那是你的选择!(但是如果
使用_DL_PREFIX
可以解决您的问题,那么一定要发布答案。)啊哈!找到它时,项目中使用了单调的缓冲区资源,因此,在这种情况下,必须构建并链接库。我想当Boost.Container不作为“headers only”库使用时,这是非常罕见的情况。不想搞乱它,检查是否可以从构建中排除分配器,我将坚持使用define。