GithubHelp home page GithubHelp logo

dotnetgame / natsu-clr Goto Github PK

View Code? Open in Web Editor NEW
79.0 10.0 4.0 1.05 MB

il2cpp transpiler and runtime compatible with .Net Core

License: MIT License

C# 90.81% C++ 8.62% CMake 0.15% Assembly 0.42%
clr dotnet il2cpp embbeded msil transpiler

natsu-clr's Introduction

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!)

路线图

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

natsu-clr's People

Contributors

sunnycase avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.