-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Derek Snider edited this page Jul 23, 2026
·
3 revisions
New to madc? Start here.
madc (My Advanced Dialect of C) is a C-like programming language that JIT-compiles directly to native machine code — and can compile the same programs into standalone native executables. Write familiar C/C++ code, run it with a single command — no Makefile, no separate compile step.
madc can also generate native Linux ELF executables, and can be embedded as a library (libmadc) in your own C/C++ programs.
- Install madc — build from source (~2 minutes)
- Write your first program — hello world and beyond
- Explore namespaces — madc's signature feature
madc program.madJIT-compiles and runs your program in one step. Caches compiled OBJ files — repeat runs skip recompilation.
madc -o program program.mad
./programGenerates a native Linux ELF executable. Real binary, no runtime dependency on madc.
#include <libmadc/api.h>
madc::program pgm;
pgm.exec_file("script.mad");libmadc brings madc scripting and 100+ multi-language functions into your own C/C++ applications.
- Familiar syntax — if you know C, you know madc. C++ extras (streams, strings, STL) are built in.
- Zero ceremony — no Makefile, no include-path configuration, 40+ standard headers embedded.
- Multi-language namespaces — php::, perl::, python::, ruby::, js::, rust:: functions available with no imports.
-
Modern features — lambdas, defer, multiple returns,
:=inference. - 99% GCC torture test parity, zero standard-C failures — not a toy. Handles real C codebases (SMAUG 1.8, ~158k lines, boots).