VS2017下编译使用开源代码dlmalloc

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

你可能感兴趣的:(C语言)