Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/reignstudios/il2x
Translates .NET IL to unsuported .NET platforms and architectures. (Powered by Cecil)
https://github.com/reignstudios/il2x
c cpp il2c il2cpp msil runtime transpiler
Last synced: 1 day ago
JSON representation
Translates .NET IL to unsuported .NET platforms and architectures. (Powered by Cecil)
- Host: GitHub
- URL: https://github.com/reignstudios/il2x
- Owner: reignstudios
- Created: 2018-12-02T02:11:41.000Z (almost 6 years ago)
- Default Branch: remake
- Last Pushed: 2024-02-07T22:43:12.000Z (9 months ago)
- Last Synced: 2024-03-26T16:26:59.094Z (8 months ago)
- Topics: c, cpp, il2c, il2cpp, msil, runtime, transpiler
- Language: C#
- Homepage:
- Size: 431 KB
- Stars: 98
- Watchers: 13
- Forks: 13
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# IL2X (Under development)
Translates .NET IL to supported and unsuported .NET platforms and architectures. (Powered by Cecil)
NOTE: CS2X will be for GPU targets## Goals
This projects focus is on translating .NET IL for non-supported .NET targets & performance. Portibility is a big focus.
* Native C performance
* C89: modern, legacy and embedded platforms (x86, x64, MIPS, SPARK, RISC-V, PPC, 68k, AVR, etc)
* CC65: 6502 platforms (Atari, C64, NES, Apple II, etc)
* SDCC: Many targets (ColecoVision, etc)
* z88dk: Z80 platforms
* Assembly: CP1610 (Intellivision)
* Retarget: Custom assembly targets (FPGA CPU, 16bit bytes, etc)
* Custom Standard lib(s) for various targets.
* Other lang targets: Java, JS, ActionScript, etc (portability or framework targeting)
* Documentation## Project libraries
* IL2X.Core: .NET IL compiler/emitter lib
* IL2X.CLI: CLI interface for IL2X.Core
* IL2X.CoreLib: The IL2X CoreLib & runtime base## What IL2X aims to provide CoreCLR / .NET-Native / Mono / Mono-AOT doesn't
* True portability. IL2X output will compile to C89 along with a CPU agnostic GC, Boehm or low-ram embedded GC. Special or platform specific C targets will have options. Such as storing string literals in ROM, VC++, Clang or GCC specifics etc.
* Statically compile the entire program & dependencies in a single AOT binary from any C compiler.
* IL2X can be faster than all currently available .NET runtimes when it comes to heavy number crunching thanks to mature C optimizers and lighter weight code gen.
* Allows you to directly invoke C methods statically for better optimizations vs using DllImport etc.
* Supports many C compilers allowing you to choose what's best.## Building
NOTE: To clone repo you will need the Git Large File Storage* Prerequisites
* VS 2022, vscode, Rider, etc
* .NET 8## Is this project ready for general use?
No still experimental.