面向 8 位单片机的开源 C 编译器 SDCC
来源:sdcc.sourceforge.net — 113 分 · by lioeters
📋 概述
SDCC(Small Device C Compiler)是一套可重定向、带优化的 C 编译器套件,支持 ANSI C89、ISO C99/C11 与 C23,目标平台覆盖 Intel MCS51 系列、Maxim DS80C390、Freescale HC08/S08、Zilog Z80 家族(Z80/Z80N/Z180/eZ80/R800/SM83 等)、Padauk、STM8 以及 MOS 6502 与 WDC 65C02 等老架构。它不只是一个编译器,还自带基于 ASXXXX 的汇编器与链接器、GCC 派生的预处理器、ucsim 模拟器和源码级调试器。2026 年 6 月发布的 4.6.0 加入了大量 C2y 特性、实验性的 Rabbit 5000/6000 与 f8l 端口,并显著改进了 z80 系列的代码生成。
🔑 核心要点
- 覆盖范围极广:8051、Z80 家族、6502、STM8、Padauk 等都有一套后端。
- 标准跟进不含糊:从 C89、C99、C11 一直到 C23,4.6.0 还加入了成批 C2y 特性。
- 配套工具完整:汇编器/链接器、预处理器、模拟器、源码级调试器一应俱全。
- 优化是核心卖点之一:全局子表达式消除、循环优化、常量传播、死代码消除,另有独立的窥孔优化器。
- 历史很长:1999 年起移入 SourceForge,由用户转成的开发者共同维护,原作为 Sandeep Dutta。
- 新版本仍在推进硬件支持:Rabbit 5000/6000 与 f8l 为实验性端口,z80 系列代码生成大幅改进。
💡 金句
SDCC 是一套可重定向、带优化的标准 C 编译器套件,并且可以为其他微处理器重新定位。
👍 0
👎 0
← 返回 Hacker News 首页