Data Structures and Algorithms written in pure C.
libc
(C standard library)math
(math library, typically linked as-lm
)realtime
(real-time extensions, usually-lrt
)pthread
(POSIX threads,-lpthread
)pcre2-8
(Perl Compatible Regular Expressions, 8-bit)
Note:
- POSIX compliance required.
- Officially supported on Arch Linux. Other Linux distros may work, but are not guaranteed.
- Windows users: Use WSL for full compatibility.
- Mac OS X and BSD are not supported at this time.
git clone https://github.com/teleprint-me/dsa.c.git dsa
cd dsa
# Use Release for optimized builds
cmake -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build --config Debug -j $(nproc)
ctest --rerun-failed --output-on-failure --test-dir build
cmake --build build --target run_doxy -j 16
git submodule add https://github.com/teleprint-me/dsa.c.git dsa
#include "core/memory.h"
#include "core/logger.h"
#include "allocator/arena.h"
git submodule update --remote dsa
Work in progress. APIs and modules change frequently. Feedback and pull requests are welcome!
See tests/
for up-to-date usage examples.
This project is licensed under the LGPL. See LICENSE for details.