This repo contains list of C++ tools, coding standards and best practices with which I've encountered over the years.
- cpplint
- An automated checker to make sure a C++ file follows Google's C++ style guide
- clang-tidy
- Clang-based C++ “linter” tool.
- extensible framework for diagnosing and fixing typical programming errors, like style violations, interface misuse, or bugs that can be deduced via static analysis.
- provides a convenient interface for writing new checks.
- ninja
- Small build system with a focus on speed
- Supports CMake's Ninja backend
- CMake
- Cross-platform family of tools designed to build, test and package software
- CMake C++ Project template
- Template for C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
- Cppcheck
- Static analysis
- Misra rule texts
- Open source
- clang-format
- C++ code formatter
- Can be implemented in the Build server, Link
- Clang indexer
- Parse source code into an abstract syntax tree (AST)
- Python bindings
- GoogleTest
- Google’s C++ testing and mocking framework.
- grep.app
- Search across a half million git repos
- Very fast
- Valgrind
- Number of debugging and profiling tools
- Detects memory-related errors common in C/C++
- Google Benchmark
- Benchmark C/C++ code snippets similar to unit tests
- Ditto
- Windows Clipboard manager
- Helps with copy-paste-ing code
- Everything
- Locate files and folders by name instantly
- Compiler Explorer
- Lets you type code in one window and see the results of its compilation in another window
- Wandbox
- Run code trough the different compilers
- C++ Library project with CMake
- Conan package manager
- The open source, decentralized and multi-platform package manager to create and share all your native binaries.
- See the Conan introduction in the Knowledge base
- cppreference
- C++ reference web page
- Interrupt blog
- Blog about embedded C/C++ programming
- Feabhas blog
- Blog about developing software for real-time and embedded systems
- Declaration of VAR
- Quality blog about software development in general
- Learn C++
- Website devoted to teaching you how to program in C++
- Software Engineering at Google
- Book about Google Software engineering principles with designing, architecting, writing, and maintaining code.
- Handbook of Data Structures and Applications
- Discussion of well-known classes of data structures: Priority Queues, Dictionary Structures and Multidimensional structures.
- Mechanisms and tools that were developed to facilitate the use of data structures in real programs.
- Examination of the applications of data structures
- C++ Tools Ecosystem
- Collection of various C++ tools
- C/C++ Google Style Guides
- Most open-source projects developed by Google conform to the requirements in this guide.
- cppbestpractices
- Collaborative Collection of C++ Best Practices
- C++ (and Rust, embedded, ...) Talks List
- A list of talks about C++, Rust, embedded and related subjects compiled from youtube playlists
- WARNING: Contains a lot of talks
- CMake Inheritance explained
- Blog post where author explains how CMake inheritance works and how to use it.
- Introduction to Conan package manager
- Blog creates Demo project where it includes several libraries liked with the Conan package manager. Demo project is then built with CMake.
- Application bootstrap layer for various C/C++ platforms
- It's main goal is to provide compiler configuration for target platform, and abstraction of launching main application thread on target platform.
- CppCon 2018: Mateusz Pusz “Git, CMake, Conan - How to ship and reuse our C++ projects”
- Provides great detail about how to use modern CMake to properly setup projects and also it teaches us how to use modern package manager called Conan.