最近在找windows下比较好用的函数时间统计的库,听同事说gperftools是跨平台的,就下载下来尝试了一把.发现它确实实现了windows上可以调用的dll库文件(tcmalloc_minimal,VS2015下的工程),而自己想要用到的ProfilerStart()和ProfilerStop()函数依赖linux中的signal.h文件(其中的siginfo结构体),宣告这条路径失败了.不过看了这么久的这个项目,也来总结下,总算有点收获.
下载路径:https://github.com/gperftools/gperftools
刚才发现原来项目中已经说明了只是有tcmalloc_minimal is supported on Windows,自己还尝试了半天.
这个README_windows.txt介绍了一些VS使用时需要注意的地方,讲述的也算详细.
里面说的 "libtcmalloc_minimal.lib" /INCLUDE:"__tcmalloc" 一开始没有看懂,后来领会到:
在Vs的linker的Input下:Additional Dependencies中加入libtcmalloc_minimal.lib, Force Symbol References中加入__tcmalloc.其Command Line中就会有包含上面的那个内容.
贴一个当时的工程树状图,其中只有tcmalloc_minimal是dll工程,其他的都是exe工程.