So you want to create your own .NET runtime?
summary
Creates an interpreted .NET runtime in plain C from a tiny starter file, based on DotNetAnywhere, by parsing PE headers, the CLR header, metadata streams and ~# tables, mapping RVAs into allocated memory and loading table rows; implements an IL interpreter that supports at least the ret opcode and successfully runs a simple HelloWorld DLL (methoddef count = 2, CLR version 4.0.30319). Uses fopen/malloc/memcpy, manual pointer arithmetic and hard‑coded table widths, claims the core can be prototyped in about one hour.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 2:00The project
- 4:20The document
- 5:30C Coding
- 12:00PE headers
- 15:00Section headers
- 21:00CLI headers
- 27:00Entry point token
- 28:10Metadata
- 31:32Variable Length Strings
- 34:19Streams
- 37:45Metadata Tables
- 42:05If Valid
- 47:05Method Death
- 52:45Method State
related talks
53mSo you want to create your own .NET runtime?
01h 00mUnveiling .NET Secrets with the World's Smallest C# Program
01h 05mFrom 'dotnet run' to 'Hello World!'
49mFrom 'dotnet run' to 'Hello World!'
39mRunning .NET on the NES
43mRunning .NET on the NES
56m.NET 5: runtimes
58mMobius – writing your own .NET runtime running on .NET Core
