Dev tools · alternatives · 2026
24 alternatives to I wrote a minimal memory allocator in C
A fun toy memory allocator (not thread safe, that's a future TODO). I also wanted to explain how I approached it, so I also wrote a tutorial blog post (~20 minute read) covering the code which you can find the link to in the README.
This is a minimal memory allocator written in C, designed as an educational tool rather than for production use. It demonstrates core memory allocation concepts through working code accompanied by a detailed tutorial… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes.
- 1

Simple, zero-dependency garbage collection for C. Contribute to mkirchner/gc development by creating an account on GitHub.
2019 · github.com · its alternatives →
- 2GI
Hi all! I'm going into my freshman year, and figured that the best way to prepare for the intro to programming Racket course would be to implement my own garbage-collected, dynamically typed, functional programming language in C ;) Anyways... here's the repo: https://github.com/liam-ilan/crumb I started learning C over the summer, so I still have a whole lot to learn... Any feedback would be greatly appreciated! :D
2023 · its alternatives →
- 3

Long-simmering side project that is finally ready to see the light. HAMTs are a cool persistent data structure and implementing one has been a lot of fun. Beyond the code, there is likely some value in the extensive and largely complete implementation docs; basic benchmarks are linked in the README, too. Kind of aiming to be "the libavl for HAMTs". That is obviously a high and aspirational bar but a distinct possibility if it stirs up a little interest and/or contribution. Anyways, it's time for this to go out, collect feedback and maybe even some use outside of toy projects. Let me…
2023 · github.com · its alternatives →
- 4

Hi! I've been working on the flipjump project, a programming language with 1 opcode: flip (invert) a bit, then jump (unconditionally). So a bit-flip followed by more bit-flips. It's effectively a bunch of NOT gates. This language, as poor as it sounds, is RICH. Today I completed my compiler from C to FlipJump. It takes C files, and compiles them into flipjump. I finished testing it all today, and it works! My key interest in this project is to stretch what we know of computing and to prove that anything can be done even with minimal power. I appreciate you reading my announcement, and be…
2025 · github.com · its alternatives →
- 5LC
I made a simple virtual machine that runs C in the browser.This project is made as an experiment to see if C can be learned easier if the lower level is covered in paralel. Sandbox: https://vasyop.github.io/miniC-hosting Tutorial part 1: https://vasyop.github.io/miniC-hosting/?0 More info: https://github.com/vasyop/miniC-hosting/blob/master/README.md Please support this project: https://github.com/vasyop/miniC-hosting/blob/master/support.md
2019 · its alternatives →
- 6

🔄 Flexible C memory allocation scheme. Contribute to mulle-c/mulle-allocator development by creating an account on GitHub.
2016 · github.com · its alternatives →
- 7NC
Hello, Some time ago I did a data logger for fun, just to check if I could beat the performance of an old C++ project of mine (mini-async-log) and to avoid letting my multithreading-C skills rust when on a non-programming gig (using Yocto/OE, very little programming). This project is a BSD licensed, producer-wait-free (when using thread-local storage) generic message logger with high performance, decent test coverage, and type-safe C strings (requires C11 or C++ compiler). It was a shame to let this project to die unknown, as I think that it has potential to be used on some niches as…
2019 · its alternatives →
- 8

This project launches multiple independent programs into a single shared virtual address space, while still behaving like separate processes (independent binaries, globals, and lifetimes). When threadprocs share their address space, pointers are valid across them with no code changes for well-behaved Linux binaries. Unlike threads, each threadproc is a standalone and semi-isolated process. Unlike dlopen-based plugin systems, threadprocs run traditional executables with a `main()` function. Unlike POSIX processes, pointers remain valid across threadprocs because they share the same address…
Mar 2026 · github.com · its alternatives →
- 9

A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects. - GitHub - rochus-keller/CspChan: A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects.
2023 · github.com · its alternatives →
- 10

I've been working on implementing the compile-time approach to memory management described in this thesis (https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-908.pdf) for some time now - some of the performance results look promising! (Although some less so...) I think it would be great to see this taken further and built into a more complete functional language.
2020 · github.com · its alternatives →
- 11

This is my hobby C compiler project. Decided to publish the code today, as it finally compiled itself. The readme on the linked GitHub page has a bit of information on how it works. I wrote the thing for fun, but if anyone gets a better understanding of the dark corners of C because of it, I am happy.
2022 · github.com · its alternatives →
- 12

Smart pointers for the (GNU) C programming language - Snaipe/libcsptr
2015 · github.com · its alternatives →
- 13DM
2018 · dangless.gaborkozar.me · its alternatives →
- 14

Heap based scheme machine. GitHub Gist: instantly share code, notes, and snippets.
2025 · gist.github.com · its alternatives →
- 15IB
This weekend I created stacklib.h - a single-header library that brings Forth-style stack operations to C. It implements a basic interpreter with: - Stack operations (push/pop/dup/swap/over/drop) - Arithmetic (+, -, *, /) - Output (., emit, cr) - Stack inspection (.s, depth) Example usage: Stack s; stack_init(&s); dict_init(); exec(&s, "10 20 + ."); // Prints "30" exec(&s, "1 2 3 4 .s"); // Shows stack contents The library is self-contained, requires no dependencies, and handles basic error checking. It was inspired by wanting to understand…
2025 · its alternatives →
- 16

I rewrote the most common core string.h functions in pure C. I mostly did it to learn pointers and string. Would love to get any feedbacks:)
2025 · github.com · its alternatives →
- 17

Non-preemptive Thread Hierarchy Manager. Contribute to gueststar/nthm development by creating an account on GitHub.
2020 · github.com · its alternatives →
- 18MP
I have been working on this game somewhat sparsely for the past three years or so. However, it is still in a very early stage, and there is a lot of work to do. One of my friends encouraged me to post about it here, since he felt people might find interesting how I don’t use any libraries for it. The game can be played on a browser by virtue of WebAssembly. There are native ports using either MiniFB or SDL2, but you have to build those yourself. I decided to write the game in C because I feel like it is a simple language that a lot of people can understand well enough, and I didn’t think I…
2023 · zamfofex.neocities.org · its alternatives →
- 19

This project contains no code from Linux, BSD, Minix, or any other OS. Everything up until this point is written entirely from scratch, including a pure microkernel (that only implements multiprocessor priority scheduling, memory management, and interprocess communication), a work-in-progress implementation of the standard C library, and a variety of servers that provide drivers and other essential OS functionality. At the time of writing this post, the servers provide drivers for the keyboard, NVMe SSDs (that works on real hardware), a Unix-like virtual file system (with a single root…
2024 · github.com · its alternatives →
- 20

Concurrency library for C (coroutines). Contribute to tidwall/neco development by creating an account on GitHub.
2024 · github.com · its alternatives →
- 21HO
I built a lightweight GIF decoder in pure C, ideal for embedded or performance-critical environments. It’s header-only, zero dynamic memory allocations, and fully platform-independent. Supports both static and animated GIFs, with turbo and safe decoding modes. Works great on microcontrollers, IoT devices, and anything with a framebuffer. Would love feedback or ideas where this could be useful. Github: https://github.com/Ferki-git-creator/TurboStitchGIF-HeaderOn...
2025 · its alternatives →
- 22

JAX C++ stack trace walkthrough for TpuExecutor_Allocate - What happens when you allocate a JAX tensor on a TPU.md
2021 · gist.github.com · its alternatives →
- 23

allocscope - a memory tracking tool. Contribute to matt-kimball/allocscope development by creating an account on GitHub.
2023 · github.com · its alternatives →
- 24

Hi HN, I'm the author. I built this project for two simple reasons: I've always used higher-level languages and wanted to finally understand what's happening "under the hood" of an interpreter. I also wanted a real project to force me to "power up" my C skills, especially with manual memory management and reference counting. The result is ToyForth, a minimal interpreter for a Forth-like language, written from scratch in C, stack-based. I focused on making the code clean and understandable. It's broken down into a few simple parts: A parser that turns source text into a list of objects…
Nov 2025 · github.com · its alternatives →
Also compare
- A simple garbage collector for C alternatives
- Going into freshman year, figured I should build an interpreter alternatives
- A hash array-mapped trie implementation in C alternatives
- Compile C to Not Gates alternatives
- Learn C and its lower levels interactively, in the browser alternatives
- Flexible C memory allocation scheme with leak checking alternatives
Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →