Skip to content

Tools for C programming

Code formatting

Linting and static analysis

Configuration files

  • libconfig: configuration file management library for C.

Package managers

  • Conan: package manager for C and C++.
  • vcpkg: package manager for C and C++.

Testing

  • cmocka: unit testing framework for C with support for mock objects, fixtures, and several machine-readable result formats. It is a good general-purpose choice for C projects.
  • Unity: small unit testing framework for C that is especially useful when a lightweight or embedded test framework is required.

Profiling

  • GNU gprof is a basic instrumenting profiler distributed with GNU Binutils. It is useful for introductory profiling and existing workflows, but gprofng is the more capable profiler in current Binutils releases.
  • Intel VTune Profiler analyzes CPU, accelerator, threading, and memory-performance behaviour. It can be installed separately or as part of the Intel oneAPI toolkits.
  • Linaro Forge combines the DDT parallel debugger, MAP profiler, and Performance Reports. It is designed for MPI, OpenMP, and accelerator-enabled HPC applications.
  • HPCToolkit is an open-source measurement and analysis suite for CPU and GPU-accelerated applications, including parallel programs.
  • Scalasca is an open-source performance-analysis toolset for MPI, OpenMP, and hybrid applications.