Download (zip) View on GitHub

pjmaker/nana

Nana - a design by contract framework for C/C++

⭐ 24 🍴 3 👀 8 ⚖️ No license 🌿

Wiki

Assembly 27.2%, Makefile 21.9%, TeX 16.6%, C 11.1%, Shell 9.2%, Elixir 8.8%, Other 5.2%,
             

Files

nana

Nana is developer/testing tool for C/C++ which supports design by contract using a mix of code and GDB debugger support. It intended to be used for:

  • Safety critical or high reliability systems.
  • Embedded systems where the GDB.

Some of its benefits are space and time efficency, e.g.the default assert(i>=10) implementation on an i386 uses 52 bytes vs 10 bytes for nana inline checks (or 1 byte if you are using GDB based assertion checking).

Specific parts of the library require GNU CC extensions but it works under clang as well. A standards compliant version mostly excludes the quanitifers forall (A), exists (E), etc.