C 语言编译到 FlipJump:一个极简 RISC-V 虚拟机

2025-01-17
C 语言编译到 FlipJump:一个极简 RISC-V 虚拟机

c2fj 项目是一个将 C 语言代码编译到 FlipJump(一种极简指令集虚拟机)的编译器。它先将 C 代码编译成 RISC-V ELF 文件,再将 RISC-V 指令翻译成 FlipJump 指令,最后运行生成的 FlipJump 程序。这个过程巧妙地利用了 FlipJump 的空间优化特性,使得即使是大型 C 代码也能高效编译。c2fj 支持多种编译选项,并提供 Makefile 支持复杂项目。它还包含一个精简的 C 库,实现了必要的系统调用,例如 `exit`, `getc`, `putc` 和 `sbrk`。

开发 FlipJump