相关项目
onnx2c
onnx2c是一款ONNX到C的编译工具,专门针对微控制器环境进行优化。它将ONNX文件转换为单一C文件,生成的代码不使用动态内存分配,仅需标准C数学库支持。该工具设计简单易用,无需学习曲线,方便开发者将训练好的神经网络快速集成到微控制器项目中。onnx2c提供多种优化功能,包括张量联合、Cast节点移除和实验性量化,有效提升代码性能和内存利用率。
shecc
shecc是一个开源的自编译C语言优化编译器,支持32位Arm和RISC-V架构。它能生成Linux ELF可执行文件,提供基本C标准库,采用两遍编译过程。该项目实现了静态单赋值(SSA)中间表示、寄存器分配和基本优化策略,展示了编译器的核心概念和实现方法,适合学习和教育用途。
Nuitka
Nuitka是一个Python编译器,可将Python 2和Python 3代码编译为C程序。它支持全部Python语言特性,与CPython高度兼容,并能与现有Python库无缝集成。Nuitka通过优化来提高性能,同时保持与标准Python的兼容性。它可用于编译单个模块、整个程序包或创建独立可执行文件,是提升Python代码执行速度和简化分发的有效工具。
SmallerC
SmallerC是一款轻量级单遍C编译器,兼容C89/ANSI C和C99的主要特性。它可生成16位和32位80386+汇编代码,支持DOS、Windows、Linux和Mac OS X平台开发。此外,SmallerC还支持MIPS CPU代码生成,适用于RetroBSD系统。该编译器具备自编译功能,集成了预处理器、链接器和编译器驱动程序。目前,其标准C库已接近完善。