jharwell / rcsw

Collection of reusable C software.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reusable C Software (RCSW)

Release:ci-master coverage-master
Development:ci-devel coverage-devel
Misc:license docs maintenance

RCSW is a collection of reusable (but not necessarily generic) C software modules, in the style of the C++ STL. Intended to jump-start new software development and generally make your C development life easier. Briefly, it contains:

  • Data structures: ringbuffer, linked list, FIFIO, dynamic array, binary search tree, red-black tree, order statistics tree, hashmap, binary heap, etc.
  • Algorithms: binary search, quirksort, mergesort, insertion sort, radix sort, etc.
  • Multithreading: memory pool, binary semaphore, mutex, producer-consumer queue, reader/writer lock, etc.
  • Simple I/O: re-implementation of the libc routines needed to make printf() work; very useful in base-metal environments (e.g., bootstraps)
  • Utils: XOR checksums, hashing functions, bit masking, memory manipulation (e.g., read-modify-write with verify)

Full project documentation is here: https://jharwell.github.io/rcsw.

License

This project is licensed under the MIT license.

About

Collection of reusable C software.

License:MIT License


Languages

Language:C 71.5%Language:C++ 27.0%Language:CMake 1.3%Language:Emacs Lisp 0.1%Language:Shell 0.0%