c++ - 如何dlopen jemalloc动态库

标签 c++ c memory-management dlopen jemalloc

我正在尝试在运行时dlopen内存分配器。 我对 libctcmalloctbbmalloc 没有任何问题。但尝试 dlopen jemalloc 会导致以下错误(通过 dlerror 捕获):

/path/to/lib/libjemalloc.so:无法在静态 TLS block 中分配内存

您知道此错误的原因以及我该如何解决此问题吗?

最佳答案

借助 jemalloc 的 GitHub 存储库,我能够找到解决方案 issue #1237

此解决方案是根据 INSTALL.md 使用 --disable-initial-exec-tls 重新编译 jemalloc ,我的错。

关于c++ - 如何dlopen jemalloc动态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50839284/

相关文章:

c++ - 如何在 C++ 中正确分配 char*?

c - 具有停止条件的阵列

c++ - 如何找出 cl.exe 的内置宏

c - 当本地函数的内存在堆栈上被清除时?

ios - 在后台线程上保存数据时收到内存警告

memory-management - 让你的程序使用更少内存的方法

c++ - C++ 中的 strcpy_s

c++ - 更改 jam 脚本中的文件扩展名

c++ - 在 SYCL 中使用屏障

c# - .Net 处理非托管内存的方式是否不同于 C++ 运行时/二进制可执行文件?