cmocka is a unit testing framework for C with mock objects. There are a variety of C unit testing frameworks available supporting different platforms and compilers. Some development requires a lot of different compilers and older versions, which makes it difficult to use unit testing frameworks. The idea of CMocka is that a test application only requires the standard C library and CMocka itself to minimize the conflicts with standard C library headers, especially on a lot of different platforms.
Dynace is a portable extension to the C language which adds object-oriented facilities, including classes with multiple-inheritance, a meta-object protocol, dynamic dispatching via generic functions, a garbage collector, threads, and an extensive class library, including an optional GUI library. It has complete documentation and a tutorial.