libds VS kcgi

Compare libds vs kcgi and see what are their differences.

libds

A collection of data structures for C (by lelanthran)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
libds kcgi
6 4
16 267
- -
0.0 8.1
7 days ago 28 days ago
C C
MIT License ISC License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

libds

Posts with mentions or reviews of libds. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-16.
  • Common libraries and data structures for C
    15 projects | news.ycombinator.com | 16 May 2022
    I may as well throw my hat into the ring: https://github.com/lelanthran/libds

    I decided that I wanted to be able to simply drop a single .h file and a single .c file into any project without have to build a `libBlah.so` and link it to every project that needed (for example) a hashmap.

    The practical result is that using the hashmap only requires me to copy the header and source files into the calling project.

    It does build as a standalone library too, so you can link it if you want.

    My primary reason for starting this is that I was pretty unsatisfied with all of the string libraries for C. When all I want to do is concatenate multiple strings together, I don't want to have to convert between `char ` and `struct stringtype ` everywhere.

    The string functions are very useful as they all operate on the standard `char *` (nul-terminated) type.

  • Buffet
    11 projects | news.ycombinator.com | 7 Mar 2022
    That would be nice, then I wouldn't have to use non-standard stuff.

    I made my own easy-to-incorporate-into-any-project library - https://github.com/lelanthran/libds - just copy the ds_*.h and ds_*.c into a project and you're good to go.

    I'm not saying it will work for you, but it works for me.

  • BCHS: OpenBSD, C, httpd and SQLite web stack
    6 projects | news.ycombinator.com | 18 Jan 2022
    > Is there a good string-manipulation C library?

    You will have to define "good". My string library[1][2] is "good" for me because:

    1. It's compatible with all the usual string functions (doesn't define a new type `string_t` or similar, uses existing `char `).

    2. It does what I want: a) Works on multiple strings so repeated operations are easy, and b) Allocates as necessary so that the caller only has to free, and not calculate how much memory is needed beforehand.

    The combination of the above means that many common* string operations that I want to do in my programs are both easy to do and easy to visually inspect for correctness in the caller.

    Others will say that this is not good, because it still uses and exposes `char *`.

    [1] https://github.com/lelanthran/libds/blob/master/src/ds_str.h

    [2] Currently the only bug I know of is the quadratic runtime in many of the functions. I intend to fix this at some point.

  • Strings in C... tiring and unsafe. So I just made this lib. Am I doing it right, Reddit ?
    9 projects | /r/programming | 2 Feb 2021
    As an example of an opaque pointer library, see https://github.com/lelanthran/libds/blob/v1.0.5/src/ds_ll.h - See line 7 for the typedef. - Lines 9, 10, 11 and 67, 68 and 69 for making it callable from C++.

kcgi

Posts with mentions or reviews of kcgi. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-11.
  • Newbie here, is it possible to use c for website backend ? And what framework?
    3 projects | /r/C_Programming | 11 Aug 2022
    You can use KCGI to use C or C++ as a FastCGI backend.
  • New embedded programming language with C as a host language
    7 projects | news.ycombinator.com | 25 Jul 2022
    I like the premise of embedded generating inline c. Kinda like php for c, rather than html

    I'm not sure of custom BNF per generating command. I notice they're mostly order independent, which makes it a little easier to learn, but what's the advantage over c syntax? Is it roughly that pointers etc are impossible. Maybe a c-esque syntax would be more learnable

    How does the existing syntax compose, i.e. can the user run away with writing tcl-style scripts

    If you don't get a lot of feedback, I would guess it is inpart due to custom syntax being an entry barrier to understanding

    I don't know, I think html is easy, so people want power with php. On the other hand c is powerful and hard, by the time I'm using that, does Vely's custom syntax give me more than a set of convenient c library calls... such as https://kristaps.bsd.lv/kcgi/

    In any case, I like the apis, and I think the premise has legs

  • Seriously, why is everyone doing the same thing nowadays?
    2 projects | /r/ProgrammerHumor | 29 Mar 2022
    It's not that hard, I use kcgi.
  • BCHS: OpenBSD, C, httpd and SQLite web stack
    6 projects | news.ycombinator.com | 18 Jan 2022
    The C library used (https://github.com/kristapsdz/kcgi) is portable and working on linux as well. Putting this behind nginx as fastcgi seems very well doable.

What are some alternatives?

When comparing libds and kcgi you can also consider the following projects:

stb - stb single-file public domain libraries for C/C++

awesome-c - A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-... projects out there.

libderp - C collections. Easy to build, boring algorithms. Dumb is good.

bdwgc - The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)

live-bootstrap - Use of a Linux initramfs to fully automate the bootstrapping process

nimOnAVR - Nim language test program for Arduino UNO/Nano or its compatibles

SDS - Simple Dynamic Strings library for C

buf - C string buffer library

svd2nim - Convert CMSIS ARM SVD files to nim register memory mappings

u4 - xu4 "Ultima IV Recreated"

UnnamedOS-V2 - [Moved to: https://github.com/ThatCodingGuy86/MimosaOS]