WINC - it's the set of the different libraries for C language for work with file system, muktithreading and collections.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


General information

WINC - it's a set of simple and convenient cross-platform libraries for C language. A large number of different libraries will be added soon, but now the set contains the following libraries for working with:

  • File system
  • Utils
    • Collections
    • Multithreading

Short examples

One of the example collection from the Utils library:

int main(int argc, char** argv)
    list_t* list = init_list();
    push_back_list(list, "world");
    push_back_list(list, "!!!");
    push_front_list(list, "Hello ");
    FOR_EACH_LIST(iterator, list)
        printf("%s", (char*) list_get(iterator));
    return EXIT_SUCCESS;

Example of the file system iterator from the FileSystem library:

void iteration_callback(const char* element)
    printf("%s\n", element);

int main(int argc, char** argv)
    char* user_dir = get_user_directory();
    printf("Iteration in the user directory:\n");
    path_iterate(user_dir, iteration_callback);   
    return EXIT_SUCCESS;

How to build WINC

Clone a copy of the main WINC git repository by running:

git clone

For building libraries you can use following script:

build.bat  // for Windows
./ // for UNIX-based

You also can build manually by running the following commands:

mkdir build
cd build
cmake ..
// run with your compiler 

Documentation will be supplemented over time, but if you have any questions, please contact: