General extension library for C. No dependencies beyond common POSIX platform headers. \[st]andard library, [i]zzy\, in the same vein as stb.
izzy fbd6499d20 compatibility fixes | преди 3 седмици | |
---|---|---|
dwarf | преди 4 години | |
hash_fns | преди 4 години | |
lexer | преди 2 месеца | |
parser | преди 1 година | |
scripting | преди 3 години | |
string_utils | преди 1 година | |
test | преди 1 година | |
.gitignore | преди 1 година | |
LICENSE | преди 5 години | |
README.md | преди 4 години | |
b64.c | преди 1 година | |
b64.h | преди 1 година | |
build.sh | преди 3 години | |
conventions.h | преди 1 година | |
err.h | преди 4 години | |
fs.c | преди 1 година | |
fs.h | преди 1 година | |
hash.c | преди 3 седмици | |
hash.h | преди 1 година | |
heap.c | преди 1 година | |
heap.h | преди 7 месеца | |
ini.c | преди 2 години | |
ini.h | преди 2 години | |
initest.ini | преди 2 години | |
macros.h | преди 3 години | |
matrix.c | преди 1 година | |
matrix.h | преди 1 година | |
memarena.c | преди 4 години | |
memarena.h | преди 4 години | |
mempool.c | преди 4 години | |
mempool.h | преди 3 седмици | |
misc.c | преди 6 месеца | |
misc.h | преди 2 месеца | |
rb.c | преди 4 години | |
rb.h | преди 4 години | |
ring.c | преди 4 години | |
ring.h | преди 4 години | |
rpn.c | преди 3 години | |
rpn.h | преди 4 години | |
sets.c | преди 2 години | |
sets.h | преди 4 години | |
sexp.c | преди 7 месеца | |
sexp.h | преди 7 месеца | |
stats.c | преди 4 години | |
stats.h | преди 4 години | |
sti.c | преди 1 година | |
sti.h | преди 1 година | |
string.c | преди 5 месеца | |
string.h | преди 2 месеца | |
string_int.c | преди 1 година | |
string_int.h | преди 2 години | |
svec.c | преди 1 година | |
svec.h | преди 1 година | |
talloc.c | преди 4 години | |
talloc.h | преди 3 години | |
test.c | преди 1 година | |
utf.c | преди 1 година | |
utf.h | преди 1 година | |
vec.c | преди 3 седмици | |
vec.h | преди 4 месеца |
General extension library for C. No dependencies beyond common POSIX platform headers. "[st]andard library, [i]zzy", in the same vein as stb.
#include "sti/sti.h"
and compile sti/sti.c
to get everything at once, or
select individual pairs a la carte.
(Un)licensed under the Unlicense, which is effectively lawyer speak for Public Domain in all sane countries that have the concept of Public Domain. To quote Sam Hocevar, You just DO WHAT THE FUCK YOU WANT TO.
The API may change drastically with no notice. This is my personal set of utilities and I have not permanently settled on how it should work.
A few of the functions have terrible performance when compiled with -O0 but excellent performance when compiled with -O2/3.
Some of the _EACH() loop macros use typeof, a gcc-specific extension. I am not currently aware of a workaround for clang.
Most of the data structures use macro magic to be relatively type-safe and avoid void* casting where possible. Acknowledgements to nothings/Sean Barrett for the concept.