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.