赞
踩
mimalloc是微软开源的内存分配器,在某些场景下可以作为tcmalloc、jemalloc等知名分配器的替代品,替换平台C库默认的内存分配器,用于提升定位内存问题的效率,或者直接在生产环境中使用,通过提升内存分配的效率,进而改善应用程序的运行效率。
本文介绍在OHOS平台的构建方法,不涉及原理的介绍。
参照OHOS IDE和SDK的安装方法配置好开发环境。
从github下载源码。
执行如下命令:
git clone https://github.com/microsoft/mimalloc.git
进入源码所在的目录,创建批处理文件ohos_build.cmd
,内容如下:
@echo off setlocal set OHOS_SDK_HOME=D:\Tools\Huawei\OHOS\SDK\9 set CMAKE_HOME=D:\Tools\cmake-3.26.0-windows-x86_64 set PATH=%CMAKE_HOME%\bin;%PATH% cmake --version ninja --version set SRC_ROOT=%CD% set BUILD_ROOT=%SRC_ROOT%\build-ohos set BUILD_TARGET=mimalloc cmake -G "Ninja Multi-Config" ^ -S %SRC_ROOT% ^ -B %BUILD_ROOT% ^ -DCMAKE_TOOLCHAIN_FILE=%OHOS_SDK_HOME%\native\build\cmake\ohos.toolchain.cmake ^ -DCMAKE_CXX_FLAGS="-Wno-unused-command-line-argument" ^ -DCMAKE_C_FLAGS="-Wno-unused-command-line-argument" ^ -DMI_SECURE=ON ^ -DMI_DEBUG_FULL=OFF ^ -DMI_PADDING=ON ^ -DMI_OVERRIDE=ON ^ -DMI_XMALLOC=ON ^ -DMI_SHOW_ERRORS=ON ^ -DMI_VALGRIND=OFF ^ -DMI_ASAN=OFF ^ -DMI_USE_CXX=ON ^ -DMI_SEE_ASM=ON ^ -DMI_OSX_INTERPOSE=OFF ^ -DMI_OSX_ZONE=OFF ^ -DMI_WIN_REDIRECT=OFF ^ -DMI_LOCAL_DYNAMIC_TLS=ON ^ -DMI_BUILD_SHARED=ON ^ -DMI_BUILD_STATIC=OFF ^ -DMI_BUILD_OBJECT=OFF ^ -DMI_BUILD_TESTS=OFF ^ -DMI_DEBUG_TSAN=OFF ^ -DMI_DEBUG_UBSAN=ON ^ -DMI_SKIP_COLLECT_ON_EXIT=ON ^ -DMI_INSTALL_TOPLEVEL=OFF REM MI_DEBUG_TSAN=OFF error: unsupported option '-fsanitize=thread' for target 'aarch64-unknown-linux-ohos' cmake --build %BUILD_ROOT% --target %BUILD_TARGET% --parallel
进入CMD,在源码所在的目录下,执行如下命令:
call ohos_build.cmd
等待项目编译结束。
参考资料
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。