No dependency, cross-platform, single header C language extension. Making old C cexy again!
Still C source code, clang or gcc is all you need. No other dependencies.
Write build logic in C, cross-platform build system. No more CMake pain.
Type safe and generic data structures, better strings, better IO, new memory management.
Easy to start, easy to debug, LSP friendly. Tools for making your project cexy.
Unit test engine, sanitizers and fuzzer support out of the box.
Introducing modern practices: error handling, namespaces, type system, memory allocators, and more...
Dependencies is a curse for a long-term longevity of a project. With Cex all is you need to start is a modern C compiler (gcc/clang) and cex.h file.
Cex tries to make old C better, but without reinventing new compiler and tool chain.
Cex maintains tool-set which helping you in building, testing and maintaining your project seamlessly.
Projects built with Cex should be compilable out of the box after 10 years they were released.
Cex is focusing on smooth coding experience with solving 80% of generic problems. If you need something too fast, too small, too specialized - do it yourself, tailor other 20% for your specific needs.
# 1. Make new project directory
mkdir myproj && cd myproj
# 2. Run automatic project initialization
curl -fsSL https://cex-c.org/install.sh | bash
# or
wget https://cex-c.org/install.sh -O - | bash
# 1. Make new project directory
mkdir myproj && cd myproj
# 2. Download CEX
curl -O https://cex-c.org/cex.h
# or
wget https://cex-c.org/cex.h
# 3. Prime build system
gcc -D CEX_NEW -x c ./cex.h -o cex
# or
clang -D CEX_NEW -x c ./cex.h -o cex
# 4. Create boilerplate project
./cex