VS2017下编译使用开源代码dlmalloc

dlmalloc与malloc类似,是一个更好用的内存分配工具,项目中刚好有用到dlmalloc,所以从github上下载
源码学习一番,本以为可以很easy的在vs中编译使用,没想到最后折腾了2个小时。。。还是vs好久没用,有点生疏了,所以写篇blog记下防忘,废话不多说,直接进入正题吧。
一.下载源码并使用cmake构建编译环境
从https://github.com/ennorehling/dlmalloc 下载dlmalloc源码压缩包并解压。
下载好的源码目录结构如下
使用cmake工具在build文件夹下构建编译环境:
在这里插入图片描述
点击generate生成vs解决方案如下 :
在这里插入图片描述
使用vs打开解决方案
在这里插入图片描述
其中ALL_BUILD 和ZERO_CHECK用不到,这里直接将它们从解决方案中移除,同时新建一个工程testdlmalloc,
我将在testdlmalloc中使用dlmalloc中编译出的静态Lib库
在这里插入图片描述
testmalloc.cpp中代码如下:
在这里插入图片描述
要想在testdlmalloc中使用dlmalloc静态库,与使用其它第三方lib库的方法一样,要在以下几个地方设置好:
1.对于dlmalloc工程如果要使用带dl前缀的方法,编译lib库时要加上USE_DL_PREFIX宏,配置方法如下,在dlmalloc工程上右击选择属性进入配置页,配置好后,点击生成,就会在指定目录下生成dlmalloc.lib静态库
定义预处理宏
在编译命令中指定宏值
编译testdlmalloc时,要包含头文件malloc.h,并且编译时也要加上USE_DL_PREFIX宏,而且要将生成dlmalloc.lib链接进来,配置如下:
定义预处理宏
在编译命令中指定宏值
指定头文件包含目录和链接库目录
指定要链接的库


版权声明:本文为guoyajie1990原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。