View on GitHub


A C Object System

Download this project as a .zip file Download this project as a tar.gz file

Cobbler: A C Object System

Cobbler is an attempt to add objects to the C language in order to better understand the implementations of different kinds of object systems.

A primitive static object system is being developed using just C Macros and functions.

A dynamic object system library will also be created using a C framework.


A Static Primitive Object System

A Dynamic Object System

Desired Features


The primitive static object system is seeing progress. It has not yet seen any testing, but seems to compile fine... so far. Implemented primitive objects include a linked-list primitive, string primitive, and a value/number primitive. Primitive objects follow the reference counting memory management model, with a posix-compliant thread-safe autorelease implementation. (These are known as own, disown, and autodisown)

Things to come