現代.NET和C#在低級/系統程序以及與C/C++/Rust等互操作方面的能力完全令各位刮目相看了,有人用C#開發的64位操作系統:?GitHub - nifanfa/MOOS: C# x64 operating system pro...,截圖要介紹的是
一個結合Roslyn和NativeAOT的實驗性編譯器bflat :https://github.com/bflattened/bflat。
一年前的公眾號文章?打造史上最小尺寸.Net Core單文件應用程序?給我們介紹了bflat , 今天發布了7.0 版本,意味著從一個實驗性的工具變成了一個可用的編譯器,我們可以用它像go 哪樣編譯c# 程序。
作者在github readme 上是這么介紹它的:bflat之于dotnet,就像VS Code之于VS一樣。像NativeAOT(Bflat構建的)和Graal Native Image這樣的東西讓這些語言可以減小二進制大小,加快啟動速度和部署模型,類似于Go和Rust開發人員所享受的。
作者的ZeroSharp項目也很有趣。它演示如何在沒有任何運行時的情況下編譯 C#。沒有垃圾回收, 您可以耍特技,例如制作 5KB Hello World 或無需操作系統運行的 EFI 應用程序:
https://github.com/MichalStrehovsky/zerosharp 。
首先,下載最新版bflat(https://github.com/MichalStrehovsky/bflat/releases),并解壓到C:\bflat-7.0.0-windows-x64。
然后克隆代碼庫里的Sample 進行體驗:https://github.com/bflattened/bflat/tree/master/samples