Memory 哪个malloc将被称为?

Memory 哪个malloc将被称为?,memory,malloc,Memory,Malloc,我想在我的项目中采用jemalloc。为了在jemalloc中调用malloc()函数,我在.cpp文件中包括了jemalloc/jemalloc.h。然而,不可避免地,我也应该调用cstdlib.h中提供的一些函数。因此,jemalloc/jemalloc.h和cstdlib.h都包括在内。我想知道在这种情况下,将调用哪个malloc()?如何保证调用jemalloc中的malloc()?提前谢谢 您必须这样做,您可以在运行程序之前设置环境变量: LD_PRELOAD=/path/to/lib

我想在我的项目中采用jemalloc。为了在jemalloc中调用malloc()函数,我在.cpp文件中包括了jemalloc/jemalloc.h。然而,不可避免地,我也应该调用cstdlib.h中提供的一些函数。因此,jemalloc/jemalloc.h和cstdlib.h都包括在内。我想知道在这种情况下,将调用哪个malloc()?如何保证调用jemalloc中的malloc()?提前谢谢

您必须这样做,您可以在运行程序之前设置环境变量:

LD_PRELOAD=/path/to/lib/libjemalloc.so.1 your_program
您必须这样做,您可以在运行程序之前设置环境变量:

LD_PRELOAD=/path/to/lib/libjemalloc.so.1 your_program

您需要根据jemalloc库链接应用程序(将
-L/path/to/jemalloc/lib-ljemalloc
添加到link命令),这将导致动态加载程序将所有对malloc()、free()的调用解析为jemalloc版本。判断jemalloc是否实际被使用的一个简单方法是在环境中定义
MALLOC\u CONF=stats\u print:true
,这将导致jemalloc在程序退出之前将统计数据转储到stderr。

您需要将应用程序与jemalloc库链接起来(将
-L/path/to/jemalloc/lib-ljemalloc
添加到link命令),这将导致动态加载程序解析对malloc()、free()的所有调用判断jemalloc是否实际被使用的一个简单方法是在环境中定义
MALLOC\u CONF=stats\u print:true
,这将导致jemalloc在程序退出之前将统计数据转储到stderr