Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C Analog To STL

Tags:

c

stl

Just because I'm curious--is there any C analog to the functionality of the STL in C++? I've seen mention of a GTK+ library called glib that a few people consider fills the bill but are there other libraries that would provide STL functionality in C?

like image 468
Onorio Catenacci Avatar asked Oct 14 '08 14:10

Onorio Catenacci


4 Answers

Yes, glib is a pretty good choice: it includes a lot of utilities for manipulating containers like linked lists, arrays, hash tables, etc. And there is also an object-oriented framework called GObject that you can use to make objects with signals and slots in C (albeit with rather verbose function call names like gobject_set_property, since C doesn't have any syntax for objects). And there is also code for main loops so you can write event-driven programs.

For more info see wikipedia: https://en.wikipedia.org/wiki/GLib

Glib was originally part of GTK, but the non-GUI code has been completely factored out so that you can use it in command-line programs: http://library.gnome.org/devel/glib/stable/

like image 67
Dan Lenski Avatar answered Oct 16 '22 10:10

Dan Lenski


CLIB

like image 31
Avinash Avatar answered Oct 16 '22 11:10

Avinash


Adding another option (full disclosure, I am the author); if you can compile and link C++, you can have a look into libcdada, which has a pure C API, but uses libstdc++ as a backend for most of the containers:

https://github.com/msune/libcdada

like image 3
msune Avatar answered Oct 16 '22 10:10

msune


Well since STL's very nature is based on templates which C doesn't have, it would be difficult to even come close to the STL in C. The best you could hope for is some collection classes which manipulate void* pointers to unknown object.

like image 2
James Curran Avatar answered Oct 16 '22 10:10

James Curran