Skip to content

il2cpp transpiler and runtime compatible with .Net Core

License

Notifications You must be signed in to change notification settings

dotnetGame/natsu-clr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1334aa1 · Feb 27, 2020
Jan 11, 2020
Feb 27, 2020
Feb 27, 2020
Feb 23, 2020
Aug 19, 2019
Jun 8, 2018
Aug 17, 2019
Feb 26, 2020
Jun 8, 2018
Feb 23, 2020
Feb 24, 2020

Repository files navigation

natsu-clr

Introduction

简介

natsu-clr is an il2cpp transpiler and runtime compatible with .Net Core.

natsu-clr 是一个兼容 .Net Core 的 IL2CPP 编译器和运行时。

Screenshots

Features

  • .Net Core 3.0 compatible
  • Small memory footprint
  • Very portable
  • Easy to interop with C++
  • Compile-time vtable and variable initializer
  • Assembly-level compile without a full build of programs

特性

  • .Net Core 3.0 兼容
  • 极小内存占用
  • 可移植性强
  • 很容易和 C++ 互操作
  • 编译期虚表和变量初始化
  • 程序集级别编译,不需要整个程序全部编译

Supported CLR Features

支持的 CLR 特性

  • Array
  • Delegate
  • Exceptions
  • Generic
  • Explicit interface implementation
  • Unsafe
  • Internal Call
  • Unicode
  • Span
  • Volatile and Interlocked
  • Thread

Currently unsupported features

当前不支持的特性

  • Garbage Collection
  • Reflection

Build from source

从源码编译

Install .Net Core SDK 3.0 and CMake

  1. Build compiler
dotnet build Natsu.sln
  1. Run compiler to generate .h and .cpp
cd src/Natsu.Compiler/bin/Debug/netcoreapp3.0 && ./Natsu.Compiler
  1. Build runtime and app
mkdir out && cd out
cmake .. -DCHINO_ARCH=Emulator -DCHINO_BOARD=Emulator -DCHINO_APP=Chino.Apps.Shell

Roadmap

  • Full support of standard libraries (Wellcome contributors!)

路线图

  • 完整支持标准库 (欢迎贡献者!)

About

il2cpp transpiler and runtime compatible with .Net Core

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages