Smaller C

来自osdev
Zhang3讨论 | 贡献2022年3月31日 (四) 00:58的版本 (创建页面,内容为“Smaller C是一个简单且小型的单通道(single-pass)C编译器,目前支持C89/ANSI C和C99之间常见的大部分C语言(减去一些C89,再加上一些C99功能)。 该编译器可以在DOS、Windows、Linux和Mac OS X上自托管,这意味着它可以在所有四个操作系统下编译,还可以用来编写引导加载程序和其他部分操作系统,这些操作系统在实模式、Virtual 8086 Mode|虚拟8086模…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

Smaller C是一个简单且小型的单通道(single-pass)C编译器,目前支持C89/ANSI C和C99之间常见的大部分C语言(减去一些C89,再加上一些C99功能)。

该编译器可以在DOS、Windows、Linux和Mac OS X上自托管,这意味着它可以在所有四个操作系统下编译,还可以用来编写引导加载程序和其他部分操作系统,这些操作系统在实模式虚拟8086模式非实模式和32位保护模式下运行。

通过一些工作,你甚至可以在你的操作系统中运行Smaller C (例如,你需要将 NASM/YASMFASM (FASM可能更容易) 移植到你的操作系统中,并在较小的C标准库中进行适当的更改要使用你的OS系统调用而不是DOS,windows、Linux或Mac OS X调用)。

核心编译器附带一个预处理器、一个链接器和一个编译器驱动程序(驱动程序调用预处理器、核心编译器、汇编程序和链接器,并支持类似于GCC的选项)。 链接器(smlrl)可以产生以下可执行格式:COMMZPEELFMach-OA.out和平面可执行文件(flat executables)。 顺便说一句,COMMZ 可以直接通过 BootProg 启动。

标准C库正在开发中,即将完成。

有趣的事实: Smaller C在MIPS 微控制器上的RetroBSD 上运行,并适合96KB的用户内存。

另见

External Links