Projekt Z88DK už nějakou dobu podporuje dva kompilátory:
- sccz80 je původní kompilátor podporující C89
- sdcc který podporuje C89, C99 a částečně C11
Nyní autoři projektu upravili appmake tak, že pracuje i se sdcc. Znamená to, že sdcc je nyní schopen zkompilovat program do .tap souboru. Tímto okamžikem se pro mě stal sdcc použitelným
Projekt Z88DK má také dvě standardní knihovy (classic a new), přičemž oba kompilátory umí použít obě knihovny. Protože dokumentace je trochu chaotická a dočtete se v ní, že sdcc aktuálně jen new, tak níže přikládám rychlé příklady jak můžete kompilovat
Knihovna ClassicClassic je původní knihovna, která byla od počátku dodávaná s z88dk. Má jednodušší stdio model než nová knihovna a obsahuje spoustu rozšíření, které ještě nebyly implementovány do nové knihovny.
sccz80
zcc +zx -vn -otest -create-app test.c -lndos
sdcc
zcc +zx -vn -SO3 --max-allocs-per-node200000 --reserve-regs-iy -compiler=sdcc -otest -create-app test.c -lndos
Knihovna NewNová knihovna má za cíl implementovat standard C11. Má objektově orientované stdio, podporuje více terminálových oken, proporcionální písmo a některé další nové vlastnosti.
sccz80
zcc +zx -vn -clib=new -otest -create-app test.c
sdcc
zcc +zx -vn -SO3 -clib=sdcc_iy --max-allocs-per-node200000 -otest -create-app test.c
Pokud chcete zkompilovat do assembleru:sccz80 (výsledný soubor je test.opt)
zcc +zx -vn -a -clib=new test.c
sdcc (výsledný soubor je test.lst)
zcc +zx -vn -SO3 -clib=sdcc_iy --max-allocs-per-node200000 test.c -o test --c-code-in-asm --list
Podrobnější info najdete zde:
http://www.z88dk.org/wiki/doku.php?id=temp:front