SDCC:Small Device C Compiler
SDCDB:Small Device C Debugger
sudo apt-get install sdcc
sdcc --version
查看sdcc版本号:SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ez80_z80/ds390/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15 4.0.0 #11528 (Linux)
published under GNU General Public License (GPL)
SDCC -src-yyyymmdd-rrrr.tar
源码包,,也可以点击这里tar -xvjf sdcc-src-yyyymmdd-rrrr.tar. gz
sdccman.pdf
就可以了,也可以进入index.html阅读char test;
void main(void) {
test=0;
}//测试普通编译
#include <string.h>
char str1[10];
void main(void) {
strcpy(str1, "testing");
}//测试链接
sdcc -c test.c
只进行编译和汇编,不进行连接,输出的是asm
文件和rel
文件sdcc test.c
一步到位,直接生成二进制文件whereis sdcc
,一般在/usr/share
/usr/bin
sdcc source.c
文件后缀 | 描述 |
---|---|
asm | 汇编源文件 |
lst | 汇编列表文件 |
rst | 带有linkedit更新的汇编列表文件 |
sym | 源文件的符号列表 |
rel | 目标文件 |
map | 加载模块的内存映射 |
mem | 内存使用总结文件 |
ihx | 使用intel hex格式的加载文件 |
adb | 包含着调试信息的一个中间文件 |
cdb | 包含调试信息的可选文件 |
omf | 包含调试信息的AMOF可选文件 |
packihx sourcefile.ihx >sourcefile.hex:将ihx文件转化成hex文件
比如说有三个文件 f001.c foo2.c foomain.c
,就可以使用如下指令
sdcc -c foo1.c
sdcc -c foo2.c
sdcc foomain.c foo1.rel foo2.rel
# 第三步也可以拆解成为2步
#sdcc -c foomain.c
#sdcc foomain.rel foo1.rel foo2.rel