No description
Find a file
2023-09-30 23:55:56 +02:00
libuwuc strtol 2023-09-30 23:52:08 +02:00
rawc fprintf 2023-09-30 23:55:56 +02:00
tests/c more tests 2023-09-30 22:52:11 +02:00
.gitignore tests 2023-09-30 18:54:43 +02:00
Cargo.lock more things 2023-09-30 12:00:05 +02:00
Cargo.toml c test program 2023-09-30 10:54:59 +02:00
hello.c strtol 2023-09-30 23:52:08 +02:00
README.md docs 2023-09-30 23:03:43 +02:00
rust-toolchain.toml c test program 2023-09-30 10:54:59 +02:00
shell.nix c test program 2023-09-30 10:54:59 +02:00
test_c.sh tests 2023-09-30 18:54:43 +02:00
uwuc-gcc c test program 2023-09-30 10:54:59 +02:00

libuwuc

A libc implementation written in Rust.

Layout

libuwuc consists of two crates, libuwuc and rawc. libuwuc is a normal Rust library and can be unit tested. It contains all the logic. rawc is a wrapper that declares all the symbols and is compiled to a staticlib/cdylib and then linked into your favourite C programs.

How to build and test

You can build libuwuc using cargo build. Then, use ./uwuc-gcc to build C programs.

cargo test -p libuwuc runs unit tests for the libuwuc crate. ./test_c.sh runs the bespoke integration test suite with tests written in C.

Why

yes!!!

Platform Support

libuwuc supports anything that supports the Linux system call ABI but is only tested on actual Linux. Currently, it only supports x86-64, though that may change in the future.