SDCC - Small Device C Compiler:
SDCC是一个优化的标准C交叉编译器,目标CPU为基于Intel 8051, Maxim 80DS390, Zilog Z80和Motorola 68HC08的单片机。现在正在开发支持PIC16和PIC18系列单片机。SDCC是一个免费的开放源代码的软件,依据GNU General Public License (GPL) 发布。
一些特性包括:
SDCC编译器(ASXXXX )和连接器(ASLINK),交叉编译器和链接器,是免费的开源软件,依据GNU General Public License (GPL) 发布的。
针对MCU的语言的大量扩展,可以高效的使用基本的硬件资源。
大量标准的优化,如:削减全局的子表达式,循环优化(无任何操作的循环,strength reduction of induction variables 和逆循环),常量合并的传播,复制传播,死代码删除,'switch'语句的转移表。
针对特定MCU的优化,包括全局寄存器分配算法。
adaptable MCU specific backend that should be well suited for other 8 bit MCUs independent rule based peep hole optimizer.
满精度的数据类型:char(8位,1字节),short(16位,2字节),int(16位,2字节),long(32位,4字节)和float(4字节IEEE标准)。
可在函数的任意地方嵌入汇编语句。
可报告函数的复杂度,帮助决定什么地方该用汇编重写。
自动回归测试有很好的选择。
SDCC同时带有一个源代码级调试工具SDCDB,使用的是Daniel's s51 仿真器当前版本。
SDCC是由Sandeep Dutta 所写的,并依据GPLlicense 发行。
自首次发行以来修复了几处bugs并增加了一些改进。
在1999年12月,SDCC源代码移到SourceForge ,那里所有的“users turned developers “都可以获得同样的代码结构树。
SDCC在用户和开发者共同投入下持续更新。
AVR和GBZ80系列单片机不再支持。