Chibil: A C compiler targeting .NET IL

A tiny C project just made old-school code run in Microsoft land — and commenters are split

TLDR: Chibil is a new project that takes old C code and makes it run in Microsoft’s .NET world, with enough progress to run DOOM. Commenters were torn between calling it a clever fresh start and shrugging that Microsoft already had something similar for a niche crowd.

A quirky little coding project called Chibil has the internet doing that classic nerd double-take: wait, you got C running through .NET and it can run DOOM? Yes, really. The project rewrites a small C compiler in C# and makes it spit out files that work with Microsoft’s tooling, which means old-school C code can be turned into something the .NET world understands. For non-programmers: it’s basically a strange but impressive bridge between two very different software neighborhoods.

But the real fireworks were in the comments, where admiration instantly collided with "isn’t this already a thing?" energy. One camp gave the project flowers for being a fresh, from-scratch experiment that could eventually avoid Windows entirely. Another camp came in with the wet blanket: Microsoft’s compiler already does something similar, and this whole use case is, as one commenter put it, "a bit of a niche use case." Ouch. That turned the vibe from pure celebration into a mini turf war over whether Chibil is a bold reinvention or a very clever remix.

The funniest part is how the thread kept bouncing between "this is wild" and "calm down, nerds, this existed". One commenter basically translated the whole thing for confused readers: it’s a C compiler ported to C# that outputs .NET bytecode. Not exactly meme fuel, but the sneaky star of the show is still the DOOM flex — because in tech, getting DOOM to run is basically how developers announce, "yes, my weird experiment is real."

Key Points

  • Chibil is a C compiler derived from chibicc, rewritten in C#, and targeting .NET IL (MSIL).
  • The compiler emits COFF OBJ files that the article says are binary-compatible with MSVC /clr object files.
  • Chibil currently relies on Visual Studio's link.exe for linking and can interoperate with C++/CLI object files.
  • The project supports debugging with line numbers and locals in a .NET debugger.
  • Chibil does not include a full standard C library; it currently provides a minimal runtime stub and incomplete support for consuming compiled C code from other .NET code.

Hottest takes

"also does this. It's a bit of a niche use case." — pjc50
"starting from scratch might yield a better result" — whizzter
"a c compiler ... ported to c#, and updated to emit .net IL" — le-mark
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.