oz123 / awesome-c

A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-... projects out there.
Creative Commons Attribution Share Alike 4.0 International
9.47k stars 832 forks source link

Add libxutils #273

Open kala13x opened 1 year ago

kala13x commented 1 year ago

libxutils is a cross-platform C library that provides safer implementations of various functions to make routine tasks easier for programs written in C and C-compatible languages. Some of the specific features include a dynamically allocated array with sort and search features, a byte and data buffer, a key-value pair map, a hash map, and a linked list. On the network side, the library provides an event library based on poll(), epoll(), and WSAPoll(), a socket library with TCP, UDP, and SSL support, an event-based high performance REST API client/server library, an HTTP client/server library, an MDTP client/server library, and an RTP packet parser library. Finally, the library includes cross-platform file and directory manipulation tools, a CPU affinity manipulation API, an advanced file search API, and a system time manipulation library.

oz123 commented 1 year ago

I pretty much like it, although you can add some more documentation. I'll review more thoroughly later.

kala13x commented 1 year ago

@oz123, I am currently working on the documentation and decided to use Doxygen and write the description of the functions in the comments. Because the code base is very large, I won't be able to do it in a short time, but I will periodically update all the files.

Thanks for the feedback, it means a lot to me.

oz123 commented 1 year ago

Doxygen is really cool for documenting API. However, I can recommend using Sphinx with C plugins. Sphinx allows you not only to document APIs, but also to create a story and narrative for these APIs. The linux kernel and Python project both use it.