All Projects → anydream → Il2cpp

anydream / Il2cpp

Licence: gpl-3.0
A MSIL/C# to C++ converter. Faster than CoreCLR with low memory overhead.(已弃坑.C#是个好语言,然而.NET不是一个干净的平台)

Programming Languages

cplusplus
227 projects

Projects that are alternatives of or similar to Il2cpp

Sqlc
Generate type-safe code from SQL
Stars: ✭ 4,564 (+978.96%)
Mutual labels:  code-generator
Reinforced.typings
Converts C# classes to TypeScript interfaces (and many more) within project build. 0-dependency, minimal, gluten-free
Stars: ✭ 341 (-19.39%)
Mutual labels:  code-generator
Lockstepengine
A lockstep solution include lots of deterministic library (Math,Collision,Navmesh,BehaviorTree,Serialization ...)
Stars: ✭ 376 (-11.11%)
Mutual labels:  code-generator
Fpp
Functional PHP Preprocessor - Generate Immutable Data Types
Stars: ✭ 282 (-33.33%)
Mutual labels:  code-generator
Autorest
OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python
Stars: ✭ 3,607 (+752.72%)
Mutual labels:  code-generator
Loopy
A code generator for array-based code on CPUs and GPUs
Stars: ✭ 367 (-13.24%)
Mutual labels:  code-generator
Pyverilog
Python-based Hardware Design Processing Toolkit for Verilog HDL
Stars: ✭ 267 (-36.88%)
Mutual labels:  code-generator
Isogram
Generate Google Analytics tracking code with any isogrammic parameters you like
Stars: ✭ 396 (-6.38%)
Mutual labels:  code-generator
Lumen Generators
A collection of generators for Lumen and Laravel 5.
Stars: ✭ 339 (-19.86%)
Mutual labels:  code-generator
Sika Code
开源改变世界,让世界没有难写的代码
Stars: ✭ 376 (-11.11%)
Mutual labels:  code-generator
Protoc Gen Gotemplate
📂 generic protocol generator based on golang's text/template (grpc/protobuf)
Stars: ✭ 284 (-32.86%)
Mutual labels:  code-generator
Easy Cg
🔧代码生成器计划迭代中... 旧版本代码生成器访问移步:https://github.com/zhaohaihao/easy-cg/tree/v1.0.1
Stars: ✭ 323 (-23.64%)
Mutual labels:  code-generator
Javaparser
Java 1-15 Parser and Abstract Syntax Tree for Java, including preview features to Java 13
Stars: ✭ 3,972 (+839.01%)
Mutual labels:  code-generator
Xmlschemaclassgenerator
Generate C# classes from XML Schema files
Stars: ✭ 277 (-34.52%)
Mutual labels:  code-generator
Jet
Type safe SQL builder with code generation and automatic query result data mapping
Stars: ✭ 373 (-11.82%)
Mutual labels:  code-generator
Go On Rails
🚄 Use Rails to Develop or Generate a Golang Application.
Stars: ✭ 275 (-34.99%)
Mutual labels:  code-generator
Svd2rust
Generate Rust register maps (`struct`s) from SVD files
Stars: ✭ 347 (-17.97%)
Mutual labels:  code-generator
Python Betterproto
Clean, modern, Python 3.6+ code generator & library for Protobuf 3 and async gRPC
Stars: ✭ 412 (-2.6%)
Mutual labels:  code-generator
Datamodel Code Generator
Pydantic model generator for easy conversion of JSON, OpenAPI, JSON Schema, and YAML data sources.
Stars: ✭ 393 (-7.09%)
Mutual labels:  code-generator
Functional widget
A code generator to write widgets as function without loosing the benefits of classes.
Stars: ✭ 374 (-11.58%)
Mutual labels:  code-generator

il2cpp

「 在享受C#开发效率的同时, 获得C++编译器往死里优化的执行速度 」

alt tag

How to test

  • Pre-requirements:
    1. Windows 7 or later, 64-bit system;
    2. Visual Studio 2017, C# and C++ desktop dev environments;
  • Open il2cpp.sln;
  • Set test as startup project;
  • Run.
  • You can add your test code into CodeGenTests.cs like this:
    [CodeGen]
    static class MyTest
    {
        // return 0 means PASS, otherwise means FAIL
        public static int Entry()
        {
            int a = 1, b = 2;
            if (a + b != 3)
                return 1;
            return 0;
        }
    }
    
  • Run test project to test your code.

交流群

  • QQ:548409690

已实现的特性

  • [x] 类型/方法/字段的引用分析, 提取最小依赖子集
  • [x] 虚方法调用与虚表绑定
  • [x] 接口与基类方法的显式重写
  • [x] 协变/逆变分析
  • [x] 内嵌保守式垃圾回收器
  • [x] 静态构造函数
  • [x] try/catch/finally/fault 异常块的解析与代码生成
  • [x] 一维数组/多维数组的代码生成
  • [x] 枚举类型处理
  • [x] 字符串常量代码生成
  • [x] 可空类型代码生成
  • [x] 显式字段布局和结构体长度
  • [x] 方法委托
  • [x] C++ 代码编译工具
  • [x] 数组读写指令
  • [x] 栈操作指令
  • [x] 常量载入指令
  • [x] 方法调用指令
  • [x] 变量/参数/字段读写指令
  • [x] 条件与分支指令
  • [x] 比较指令
  • [x] 数值转换指令
  • [x] 数值运算指令
  • [x] 引用和值类型对象操作指令
  • [x] 指针读写指令
  • [x] 异常处理指令
  • [x] 装箱/拆箱指令
  • [x] 溢出检查指令

明确不支持的特性

  • [x] 运行时创建新类型 (TypeBuilder.CreateType)
  • [x] 运行时生成并执行机器码 (Emit/Expression Trees)
  • [x] 运行时加载 .NET DLL 并实例化其中的类型
  • [x] 运行时实例化不存在的泛型展开 (只支持编译期存在的泛型展开)
  • [x] 运行时增加/删除/修改反射信息
  • [x] 递归的泛型参数类型展开
  • [x] 封送非静态方法委托

正在如火如荼地开发中...
求 star 求测试~

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].