jemalloc 库的编译(Linux 下面)

1、从 github 上面下载源代码

2、解压到编译的目录里面去

3、安装 autoconf 工具链

4、执行 autogen.sh,成功(done)后就直接 make -j编译线程数

如果没有执行下面的配置语句编译出来的 jemalloc 库,是不能被其它程序链接C符号:je_malloc 函数的,因为它是通过连接器替换C标准库的 malloc、free 函数,但是一个程序之中可能会用到不同的分配器,最好的办法是这么配置编译环境。

./configure --with-jemalloc-prefix=je_

make -j

然后这样子也行

autogen.sh --with-jemalloc-prefix=je_

make -j

如果是 --with-jemalloc-prefix=je_ 编译的就需要增一个编译器定义宏

JEMALLOC_NO_DEMANGLE

该宏定义的说明:

cpp 复制代码
/*
 * The je_* macros can be used as stable alternative names for the
 * public jemalloc API if JEMALLOC_NO_DEMANGLE is defined.  This is primarily
 * meant for use in jemalloc itself, but it can be used by application code to
 * provide isolation from the name mangling specified via --with-mangling
 * and/or --with-jemalloc-prefix.
 */
相关推荐
Nick.Q13 小时前
vim插件的管理与离线安装
linux·编辑器·vim
J2虾虾15 小时前
Docker启动超时,吓得我一身汗
运维·docker·容器
一生只为赢15 小时前
通俗易懂:ARM指令的寻址方式(三)
运维·arm开发·数据结构·嵌入式实时数据库
运维行者_15 小时前
2026 技术升级,OpManager 新增 AI 网络拓扑与带宽预测功能
运维·网络·数据库·人工智能·安全·web安全·自动化
代码的奴隶(艾伦·耶格尔)16 小时前
Nginx
java·服务器·nginx
头发还没掉光光16 小时前
HTTP协议从基础到实战全解析
linux·服务器·网络·c++·网络协议·http
液态不合群16 小时前
Nginx多服务静态资源路径冲突解决方案
运维·nginx
小白同学_C16 小时前
Lab2-system calls && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
物理与数学16 小时前
linux内核 struct super_block
linux·linux内核
Getgit16 小时前
Linux 下查看 DNS 配置信息的常用命令详解
linux·运维·服务器·面试·maven