團(tuán)購(gòu)網(wǎng)站app制作seo網(wǎng)站的優(yōu)化方案
內(nèi)存泄漏是程序中常見(jiàn),也是最令人痛苦的一種bug。好在有一些檢查工具可以幫助我們,這里介紹一個(gè)google 提供的簡(jiǎn)單直接的工具 Address-Sanitizer (ASAN)。
預(yù)備條件
ASAN 原來(lái)是LLVM 中的特性,后來(lái)GCC 4.8中也開(kāi)始支持。也就是說(shuō),如果采用 gcc 或者 clang編譯的話,都是可以直接使用,無(wú)需額外安裝的。
使用
只需要在 可以在CMakeLists.txt 中添加 set(CMAKE_CXX_FLAGS "$(CMAKE_CXX_FLAGS) -fsanitize=address -fno-omit-frame-point -static-libsan")
,然后編譯就好了。
也可以直接用
gcc -fsanitize=address -fno-omit-frame-point -static-libsan test.cpp -o test
不過(guò)這個(gè)是在 Linux 中。在windows中最后鏈接的動(dòng)態(tài)庫(kù)應(yīng)該是 -static-libasan
。