一、C51专用编译选项
1.1 C标准
sdcc提供c89 c99 c11的三种标准,编译选项分别是
--std-c89
--std-c99
--std-c11
--std-sdcc99
据说用c99,如果函数没有形参编译就不能通过,不能默认为void。在写for函数的时候,不能在第一分句里申明变量,必须提前申明。–std-sdcc99是默认的编译选项,在使用c99规范的时候,兼容c89规范,真方便。
anyway,我觉得很少有人会使用这个编译选项。
1.2 芯片系列
sdcc提供很多种芯片系列的选择,粗略看了一下有pic16bit,飞思卡尔,z80等等。如果是51系列的话,编译选项是-mmcs51
-mmcs51
1.3 存储模式
ssdc提供的memory model选项有这么几个
--model-small
--model-medium
--model-large
--model-huge
small模式,对应keil的SMALL模式,变量存在internal ram中,该模式需要变量总占
C51编译选项详解:sdcc配置与优化

本文介绍了C51专用编译器sdcc的配置选项,包括C标准选择(如c99)、芯片系列(如mmcs51针对51系列)、存储模式(small, medium, large/huge)、堆栈设置、大小检查以及寄存器和汇编优化。例如,使用-xstack指定外部RAM作堆栈,-pack-iram优化寄存器使用,-acall-ajmp选项用于节省代码空间。"
124592361,12417716,C++实现:海港乘客国籍统计,"['C++', '算法', '编程挑战']
最低0.47元/天 解锁文章
1万+





