Fast Hash Tables and Dynamic Arrays in C

2025-01-22

This article demonstrates how to quickly implement C equivalents of C++'s `std::unordered_map` and `std::vector`. By crafting a custom allocator, counted strings, and an efficient hash function, the author presents flat and hierarchical hash table implementations, alongside a dynamic array. The article also covers string concatenation, environment variable manipulation, and enhanced hash table security, using Address Space Layout Randomization (ASLR) to improve collision resistance.