The Best C Libraries
[info]cprog


Graphical User Interface Libraries


GTK+ (GIMP Toolkit) - a cross-platform widget toolkit for creating graphical user interfaces for Linux, FreeBSD, Windows and Mac OS X.
LGPL license


IUP (Portable User Interface) - a portable toolkit for building graphical user interfaces. High performance, due to the fact that it uses native interface elements. Fast learning by the user, due to the simplicity of its API. Supported systems include: GTK+ (unicode), Motif and Windows (without unicode).
MIT license


SDL (Simple DirectMedia Layer) - a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code also contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS, and OS/2.
LGPL license


Agar - cross-platform thread-safe toolkit with a comprehensive set of standard widgets. It is available via OpenGL or SDL direct video. Agar supports FreeBSD, IRIX, Linux, MacOS X, NetBSD, OpenBSD, Windows.
BSD license




System Services Abstraction Libraries


GLib - cross-platform software utility library: data structures, such as memory chunks, doubly and singly linked lists, hash tables, dynamic strings (utf8 support) and string utilities, such as a lexical scanner, string chunks (groups of strings), dynamic arrays, balanced binary trees, N-ary trees, quarks, keyed data lists, relations and tuples. Caches provide memory management. Threads, primitive variable access, mutexes, asynchronous queues, secure memory pools, message passing and logging, hook functions (callback registering) and timers. Also message passing facilities such as byte order conversion and I/O channels. Standard macros warnings and assertions, dynamic loading of modules.
LGPL license


APR (Apache Portable Runtime) - mostly written in C, platform-independent functionality includes: Memory allocation and memory pool functionality, Atomic operations, Dynamic library handling, File I/O, Command argument parsing, Locking, Hash tables and arrays, Mmap functionality, Network sockets and protocols, Thread,process and mutex functionality, Shared memory functionality, Time routines, User and group ID services
Apache license 2.0


NSPR (Netscape Portable Runtime) - provides platform independence for non-GUI operating system facilities. These facilities include threads, thread synchronization, normal file and network I/O, interval timing and calendar time, basic memory management (malloc and free) and shared library linking. The current implementation supports Macintosh (PPC), WIN-32 (WinNT, Win9x) and 20 versions of UNIX and is still expanding. The basic API is stable and expected to remain that way.
MPL license




Algorithms and Data Structures


C Algorithms - implementations of many common data structures and algorithms: ArrayList, Singly(Doubly) linked list, Queue, Set, Bloom Filter, Hash table, Trie, AVL tree
ISC license, identical to the BSD license




Internet Libraries


Mongoose - easy to use web server. It can be embedded into existing application to provide a web interface to it. Crossplatform - works on Windows, MacOS and most flavors of UNIX. CGI, SSL, SSI, Digest (MD5) authorization, resumed download, aliases. IP-based ACL, Windows service, GET, POST, HEAD, PUT, DELETE methods. Small footprint: 40 Kb executable. Embeddable with simple and clean API. Source is in single .c file to make things easy.
MIT license
  • Add to Memories

You are viewing [info]cprog's journal