首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >此范围内未声明的Jemalloc函数

此范围内未声明的Jemalloc函数
EN

Stack Overflow用户
提问于 2019-01-09 13:48:32
回答 2查看 234关注 0票数 0

我通过以下方式在我的ubuntu机器上安装了jemalloc库

代码语言:javascript
复制
sudo apt-get install libjemalloc-dev

现在,我不能编译使用jemalloc库的简单代码:

代码语言:javascript
复制
#include <jemalloc/jemalloc.h>
#include <iostream>

int main() {
    void* ptr = je_malloc(16);
    return 0;
}

我是用g++ -ljemalloc example.cpp编译的。

我得到的错误是

代码语言:javascript
复制
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链接到它,但没有帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-09 20:16:15

当我查看documentation时,没有je_malloc函数,所以错误是正常的

malloc替换je_malloc

票数 0
EN

Stack Overflow用户

发布于 2021-07-13 16:35:27

我知道为时已晚,但这可能对其他人有用。如果您希望使用je_前缀版本的API,则必须在编译库时添加--with-jemalloc-prefix=je_选项(在本例中,当运行配置脚本时)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54103955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档