C util library
| arch | ||
| .gitignore | ||
| array.c | ||
| array.h | ||
| bitmap.c | ||
| bitmap.h | ||
| CMakeLists.txt | ||
| cutil.c | ||
| cutil.h | ||
| cutypes.h | ||
| endian.c | ||
| endian.h | ||
| heap.c | ||
| heap.h | ||
| list.c | ||
| list.h | ||
| README.md | ||
| string.c | ||
| string.h | ||
| struct.c | ||
| struct.h | ||
| test.c | ||
| va_list.h | ||
cutil
C library to implement
- variable arguments
- data structures like linked-lists, vector arrays, maps
- bitmaps & bitwise operations
- cross-platform oriented
- assembler-level optimizations
- architecture-dependent & hardware features
- byte-order endianness detection, byte-swapping
- dynamic memory allocator & internal heap management integrated
- structure object members mapping, dynamic processing, endianness auto-converting
- dynamic-length structures, members sizes which are determined by mapping or run-time object member value
- string processing, independent implementations of sscanf (cu_sscanf) and sprintf (cu_sprintf)
- text converting multi-byte (UTF-8) character set to double-byte character set and vise-versa
supported architectures
- x86-64 (tested on real hardware)
- ARMv8 AArch64 (tested on real hardware)
- ARMv7 (tested on real hardware)