About

NSTD is a library that is meant to be cross-platform, and fairly safe (any function that can fail will return an error code indicating if it has or hasn't) while having a plethora of features and functionality. The goal is to have one API for any platform, any language, and any use case.

Platform support

The core module can be used ANYWHERE. It doesn't rely on ANY other libraries, including standard libraries (except for the headers stddef.h and stdint.h). Other modules will work on most platforms and have been tested to build for Windows, macOS, Linux, and Redox.

Module overview

How to build

cargo build --release --features "" Where after "--features", inside the quotation marks, you would list each module seperated by spaces and prefixed with "nstd_", though the nstd_os module is a bit different, and has it's own features such as nstd_os_alloc which can be enabled seperately, nstd_os is not required. nstd_core is built by default. For building nstd as a C library, you should also use the "clib" feature, to build the module for C ABI.

Example: cargo build --release --features "clib nstd_alloc nstd_os nstd_os_io nstd_string" Alternatively you can also use cargo build --release --all-features to build with all modules.