Re:SnakeOS: Bootable x86 snake game in Rust
by option_greek on Friday August 27, 2021 @04:15AM
(#28325453)
So how does it work. Where do the standard library functions come from? Where do all the garbage collecting functionality gets loaded from?. Or is it more like pinvoking a reduced external library in C for all needed functionality.
[ Parent
| on HN ]
Re:SnakeOS: Bootable x86 snake game in Rust
by hahamrfunnyguy on Friday August 27, 2021 @05:42AM
(#28325869)
He used a few different techniques.
1. Used CoreRT instead of the standard .NET libraries 2. He avoided using functionality that would use GC in the first place 3. Created his own alternative runtime library w/out GC and exception handling 4. Created a base type library for some of the System functions 5. Re-directed certain functions like Thread.Sleep to smaller implementations in specific libraries.
The blog posting is well worth reading:
https://medium.com/@MStrehovsky/building-a-self-contained-ga...