我需要在Linux下为C++编写Hoard分配器。虽然算法非常简单,但我不明白在哪里(以及如何)存储分配器数据(例如堆)
我是这么看的:分配器不是一个进程,而是一组任何应用程序都可以使用的函数。每个应用程序都有自己的堆。
我正在尝试使用Hoard分配器来工作,但它似乎没有.我有一个基准测试应用程序,可以进行大量的动态内存管理.Hoard和glibc内存管理器的执行时间是一样的.这让我想知道我是不是做对了.
我做的是......
export LD_PRELOAD="/path/libhoard.so"
g++ main.cpp -O3 -o bm -lpthread -lrt
Run Code Online (Sandbox Code Playgroud)
我不应该链接到Hoard分配器吗?路径(在LD_PRELOAD中)是否重要,或者我可以拥有任何路径?
我正在运行Ubuntu 8.04和g ++ 4.2.4
干杯
没有人知道任何Linux命令(如grep)来确定Hoard是否正确加载,并且是否使用了实际的分配器?