Skip to content

HeavySin/unstdlib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unstdlib

An unstandard C library.

unstdlib is a fairly modern and evolving C (un)standard library designed to enhance productivity in C programming. By providing a robust set of abstractions and utilities, unstdlib aims to simplify common tasks and reduce boilerplate code, allowing developers to focus on writing efficient and maintainable code.

Table of Contents


Getting started

Currently in semi-active development, Stay tuned for upcoming releases :)

Updates

Check devel for recent commits.

Build

To build unstdlib, follow these steps:

  1. Ensure you have CMake and GCC installed.
  2. Open your terminal and navigate to the project directory.
  3. Run the following command:
    chmod +x ./unstdlib.sh && ./unstdlib.sh -build

This only builds the project as Release and moves libraries (*.so* | *.a) and headers (*.h) to the build directory per default.

Install

./unstdlib.sh -install

Builds the project as Release and moves libraries (*.so* | *.a) and headers (*.h) to /usr/local/lib and /usr/local/include/unstdlib directories respectively, per default.

Documentation

Documentation is provided for each function specifically in the header files.
Each function is documented with comments explaining its purpose, parameters, and return value.

For detailed information on each function, please refer to the corresponding header file.


Tests

unstdlib has been tested on Arch Linux kernel 6.7.6-zen1-1-zen. You can run the unit tests manually by executing the following command:

./unstdlib.sh -test

More

For more information on available options, execute:

./unstdlib.sh -h

Uninstall

Changed your mind? Simply run:

./unstdlib.sh -uninstall

Compatibility

unstdlib is based on GCC version 11. Ensure that you have GCC GNU 11 installed on your system to avoid compatibility issues.

Contributing

I would even appreciate a cat's help.


So that one day I can leave it behind as part of my legacy.

Languages

  • C 91.0%
  • Shell 6.9%
  • CMake 2.1%