ll
sc
ll | sc | |
---|---|---|
1 | 17 | |
6 | 2,278 | |
- | - | |
0.0 | 3.8 | |
5 months ago | 3 months ago | |
C | C | |
GNU Lesser General Public License v3.0 only | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ll
sc
- A simple hash table in C
- Advice for bigger c projects?
- sc - Common libraries and data structures for C
-
Hacker News top posts: May 17, 2022
Common libraries and data structures for C\ (107 comments)
-
Common libraries and data structures for C
Can someone tell me what is this line from sc_signal.c:247 in sc/signal/
If the way it is used requires the user to break the abstraction/encapsulation and manually buffer some fields in order not to break the data structure and leak memory, I would call that a bug.
There is one use of sc_array_clear() in the test code [1] which really makes it look as if it is being used in a way that I think (again, I haven't single-stepped this code, only read it) leaks memory.
I agree on the pain of everything being macros, it's more pain than it's worth I think and will likely lead to code duplication (and more pain in debugging, probably).
I would even go so far as to think that this kind of single-file design, where each file is independent of the others, makes it harder and more annoying to implement more complicated data structures.
[1]: https://github.com/tezc/sc/blob/master/array/array_test.c#L3...
-
Uthash – C macros for hash tables and more
https://github.com/tezc/sc/tree/master/map
For those who are interested in faster hashmaps, I tried bunch of hashmaps and this one performs better than others. This is for C. Maybe C++ has better hashmaps.
What are some alternatives?
doublylinkedlist - An implementation of a doubly linked list in C
wazero - wazero: the zero dependency WebAssembly runtime for Go developers
allocator - Customisable, thread-safe C11 memory allocator based off the K&R "storage allocator"
frr - The FRRouting Protocol Suite
Fortress-of-Solitude - This Library has resources to solve common data structure algorithm problems like a Doubly linked list, Generic trees, Queue, Stack, and other algorithms. Each lib has an option to carry your custom data in elements. Custom data in detail, other fantastic resources.
stage0 - A set of minimal dependency bootstrap binaries
HFT-Orderbook - Limit Order Book for high-frequency trading (HFT), as described by WK Selph, implemented in Python3 and C
pottery - Pottery - A container and algorithm template library in C
C-DataStructures-And-Algorithms - Generic data structures and algorithms implemented in c language.
libderp - C collections. Easy to build, boring algorithms. Dumb is good.
Design-Patterns-in-C - Practical design patterns in C
uthash - C macros for hash tables and more