SDCC(Small Device C Compiler)是一套開源、可重定向的最佳化 C 編譯器,專門替資源有限的微控制器產生程式碼。它支援 Intel 8051 家族、Zilog Z80 系列、STMicroelectronics STM8、MOS 6502 等多種常見於玩具、家電與嵌入式裝置裡的晶片,讓開發者能用標準 C 語言而不是組合語言寫這些小晶片的程式。
SDCC 支援 ANSI C89、ISO C99、C11 一路到最新的 C23 標準,並內建多項最佳化技術,包括全域次運算式消除、迴圈最佳化與常數折疊,也允許在 C 程式碼裡直接嵌入組合語言,方便在效能敏感的地方做微調。整個專案採用 GPL 授權釋出原始碼,任何人都可以下載、修改或參與開發。
SDCC 已經發展超過二十年,目前最新穩定版是 4.6.0,並獲得 NGI0 Commons 基金與 Sovereign Tech Fund 兩個支持開源基礎建設的機構贊助,持續由全球志願開發者維護。在 AI 生成程式碼與商業雲端工具當道的現在,這種默默支撐著無數嵌入式裝置、由社群長期維護的老牌開源工具,也是 Hacker News 上常被重新提起、值得感謝的存在。
SDCC 很適合作為孩子接觸「硬體加程式」的入門素材:只要一片便宜的 8051 或 Z80 相容開發板,就能用學校教的 C 語言概念,實際控制 LED 燈、馬達等真實零件,親眼看到程式碼變成物理世界的動作,比只在螢幕上跑程式更有成就感,也是許多資深工程師當年的啟蒙經驗。
開源程式語言嵌入式系統編譯器