Tooling and Testing

Tooling and Testing

Compilation, warnings, sanitizers, formatting, static analysis, and test habits.

Tooling and Testing

GCC / Clang

-std=c++23 -Wall -Wextra -Wpedantic -Wconversion -O2

Debug builds

-g -O0 -fsanitize=address,undefined

Build tools

Formatting and linting

Testing patterns

Helpful libraries

Best-practice reminders

Useful clang-tidy checks

Start broad, then suppress intentionally noisy rules in project configuration.

CMake workflow essentials

cmake -S . -B build -G Ninja
cmake --build build
ctest --test-dir build --output-on-failure

Debugging checklist