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.
 */
相关推荐
CC.GG7 分钟前
【Linux】进程控制(一)----进程创建、进程终止、进程等待
android·linux·运维
柏木乃一13 分钟前
进程间通信IPC(1)IPC概述,匿名管道,进程池
linux·服务器·c++·进程间通信·ipc·匿名管道·进程池
GHL28427109024 分钟前
TeamTalk-login_server学习
运维·服务器·c++·学习
学嵌入式的小杨同学25 分钟前
【Linux 实战】Makefile 自动化构建进阶:静态库 / 动态库通用模板(一键编译 + 系统安装)
linux·开发语言·git·vscode·spring·vim·ux
讯方洋哥27 分钟前
HarmonyOS App开发——鸿蒙公共事件App开发
服务器·前端·javascript
上海合宙LuatOS1 小时前
LuatOS框架的使用(2)
java·服务器·开发语言·前端·数据库·嵌入式硬件·php
橙露1 小时前
数据库运维核心:MySQL主从复制与读写分离的部署与维护
运维·数据库·mysql
Wpa.wk1 小时前
Docker- 故障注入(混沌工程)测试(简单过程阐述)
linux·运维·分布式·测试工具·docker·容器
iFlow_AI1 小时前
将iFlow CLI装进u盘,即插即用
linux·编辑器·vim·ai编程·u盘·iflow·iflow cli
wenzhangli71 小时前
Ooder SuperAgent 实战指南:企业级AI能力分发与自动化协作框架
运维·人工智能·自动化