演示 C# 在使用 .NET 原生提前编译技术进行系统编程时的潜力。
no-runtime 是一个毫无意义的示例,它展示了如何在 C# 中编写不需要运行时的可直接运行的代码。C# 具有值类型,您可以调用不受管理的内存分配器,因此可以使用它来做一些事情,但由于受到严重限制,这并没有什么意义。但是,Hello world 最终会产生大约 8 KB 的本机 EXE,没有任何依赖,这的确很酷。
with-runtime 确实是有用的。其中包括完整的托管和非托管运行时 – GC、异常处理和接口调用都能正常工作。这里使用的 Test.CoreLib 与 NativeAOT 仓库中的 Test.CoreLib 相同。不要寻找 Object.ToString() 等内容,因为与 .NET 兼容并不是重点。此示例的大小大约为 400 KB,其中大部分是 C 运行时库。
efi-no-runtime 是一个 EFI 开机应用程序,可让您在无操作系统的情况下在裸机上运行 C#。与 no-runtime 示例相同的限制也适用于此示例。如果要创建带有运行时的此示例版本,需要对运行时进行一些移植工作。
暂无开放 Issues,或尚未同步最近议题。