General extension library for C. No dependencies beyond common POSIX platform headers. \[st]andard library, [i]zzy\, in the same vein as stb.
|
1 месяц назад | |
---|---|---|
dwarf | 4 лет назад | |
hash_fns | 4 лет назад | |
lexer | 1 месяц назад | |
parser | 1 год назад | |
scripting | 3 лет назад | |
string_utils | 2 лет назад | |
test | 1 месяц назад | |
.gitignore | 1 год назад | |
LICENSE | 5 лет назад | |
README.md | 4 лет назад | |
b64.c | 1 год назад | |
b64.h | 1 год назад | |
build.sh | 3 лет назад | |
conventions.h | 2 лет назад | |
err.h | 5 лет назад | |
fs.c | 1 год назад | |
fs.h | 1 год назад | |
hash.c | 3 месяцев назад | |
hash.h | 1 год назад | |
heap.c | 1 год назад | |
heap.h | 10 месяцев назад | |
ini.c | 2 лет назад | |
ini.h | 2 лет назад | |
initest.ini | 2 лет назад | |
macros.h | 1 месяц назад | |
matrix.c | 1 год назад | |
matrix.h | 1 год назад | |
memarena.c | 5 лет назад | |
memarena.h | 5 лет назад | |
memcpy.c | 1 месяц назад | |
mempool.c | 4 лет назад | |
mempool.h | 3 месяцев назад | |
misc.c | 9 месяцев назад | |
misc.h | 5 месяцев назад | |
rb.c | 4 лет назад | |
rb.h | 4 лет назад | |
ring.c | 4 лет назад | |
ring.h | 4 лет назад | |
rpn.c | 3 лет назад | |
rpn.h | 4 лет назад | |
sets.c | 1 месяц назад | |
sets.h | 4 лет назад | |
sexp.c | 10 месяцев назад | |
sexp.h | 10 месяцев назад | |
slot.c | 1 месяц назад | |
slot.h | 1 месяц назад | |
spinlock.h | 1 месяц назад | |
stats.c | 4 лет назад | |
stats.h | 4 лет назад | |
sti.c | 1 месяц назад | |
sti.h | 1 месяц назад | |
string.c | 8 месяцев назад | |
string.h | 5 месяцев назад | |
string_int.c | 2 лет назад | |
string_int.h | 2 лет назад | |
strtof.c | 1 месяц назад | |
svec.c | 1 год назад | |
svec.h | 1 год назад | |
talloc.c | 4 лет назад | |
talloc.h | 3 лет назад | |
test.c | 2 лет назад | |
utf.c | 2 лет назад | |
utf.h | 1 год назад | |
vec.c | 3 месяцев назад | |
vec.h | 1 месяц назад |
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.