From 5c5800d8f397151a127c1c92cf89b84739b1dcb5 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Wed, 18 Jul 2018 16:50:48 -0600 Subject: [PATCH] Update 02-Use_the_Tools_Available.md --- 02-Use_the_Tools_Available.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/02-Use_the_Tools_Available.md b/02-Use_the_Tools_Available.md index e0591e8..735d259 100644 --- a/02-Use_the_Tools_Available.md +++ b/02-Use_the_Tools_Available.md @@ -43,7 +43,7 @@ Package management is an important topic in C++, with currently no clear winner. * [hunter](https://github.com/ruslo/hunter) - CMake driven cross-platform package manager for C/C++ * [C++ Archive Network (CPPAN)](https://cppan.org/) - a crossplatform dependency manager for C++ * [qpm](https://www.qpm.io/) - Package manager for Qt - + * [build2](https://build2.org/) - cargo-like package management for C++ ## Continuous Integration @@ -199,6 +199,11 @@ Notes: * Finding unused headers does not work with `-j` more than 1. * Remember to add `--force` for code with a lot number of `#ifdef` if you need check all of them. +### cppclean + +[cppclean](https://github.com/myint/cppclean) - Open source static analyzer focused on finding problems in C++ source that slow development of large code bases. + + ### CppDepend [CppDepend](https://www.cppdepend.com/) Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code. It's free for OSS contributors. @@ -297,6 +302,10 @@ MSVC's [Control Flow Guard](https://msdn.microsoft.com/en-us/library/windows/des * `_GLIBCXX_DEBUG` with GCC's implementation libstdc++ implementation. See [Krister's blog article](https://kristerw.blogspot.se/2018/03/detecting-incorrect-c-stl-usage.html). +### Heap Profiling + + * [https://epfl-vlsc.github.io/memoro/](Memoro) - A detailed heap profiler + ## Ignoring Warnings If it is determined by team consensus that the compiler or analyzer is warning on something that is either incorrect or unavoidable, the team will disable the specific error to as localized part of the code as possible.