我通过以下方式在我的ubuntu机器上安装了jemalloc库
sudo apt-get install libjemalloc-dev现在,我不能编译使用jemalloc库的简单代码:
#include <jemalloc/jemalloc.h>
#include <iostream>
int main() {
void* ptr = je_malloc(16);
return 0;
}我是用g++ -ljemalloc example.cpp编译的。
我得到的错误是
example.cpp: In function ‘int main()’:
example.cpp:5:24: error: ‘ je_malloc’ was not declared in this scope
void* ptr = je_malloc(16);我甚至尝试使用它的源文件安装jemalloc,并将我的头文件更改为"jemalloc/jemalloc.h" (而不是<..>),并使用g++ -L./jemalloc/lib example.cpp链接到它,但没有帮助。
发布于 2019-01-09 20:16:15
当我查看documentation时,没有je_malloc函数,所以错误是正常的
用malloc替换je_malloc
发布于 2021-07-13 16:35:27
我知道为时已晚,但这可能对其他人有用。如果您希望使用je_前缀版本的API,则必须在编译库时添加--with-jemalloc-prefix=je_选项(在本例中,当运行配置脚本时)。
https://stackoverflow.com/questions/54103955
复制相似问题