"neskaidri Mažyčiai C kompiliatorių (OTCC) yra labai maža, C kompiliatorius parašiau, siekiant laimėti Tarptautinę Užtamsinto C kodas konkursas (IOCCC) 2002 m.
Mano tikslas buvo parašyti mažiausią C kompiliatorių, kuris gali sudaryti pats. Aš pasirinkau C poaibis, kuris buvo apskritai užtenka parašyti nedidelį C kompiliatorių. Tada aš pratęsė C pogrupį tol, kol aš pasiekė maksimalų dydį įgaliotas konkurso: 2048 baitų C šaltinis išskyrus ";", "{", "}" ir kosminių simbolių.
Pasirinkti generuoti i386 kodą. Originalus OTCC kodas gali paleisti tik i386 Linux, nes ji rėmėsi Baitų eiliškumas ir unaligned prieigą. Jis generuoja atmintyje programą ir pradėjo jį tiesiogiai. Išorės simboliai buvo išspręsta dlsym ().
Siekiant turėti nešiojamąjį versiją OTCC, aš padariau variantas vadinamas OTCCELF. Tai tik šiek tiek didesnis nei OTCC, bet ji sukuria tiesiogiai dinamiškai susijęs i386 ELF vykdomąjį iš C šaltinis, nesiremdamas bet binutils įrankių! OTCCELF buvo išbandytas sėkmingai ant i386 Linux ir Solaris SPARC.
PASTABA: kita Mano projektas TinyCC kuris yra pilnai ISOC99 C kompiliatorius buvo parašyta nuo kodo OTCC!
Kompiliavimas:
GCC O2 otcc.c -o otcc -ldl
GCC O2 otccelf.c -o otccelf
Savęs kompiliacija:
./otccelf otccelf.c otccelf1
Programinė detalės:
Versija: 1.0
Įkėlimo datą: 3 Jun 15
Licencija: Nemokamai
Populiarumas: 98
Komentarai nerastas