Obfuscated Tiny C Compiler

Screenshot Software:
Obfuscated Tiny C Compiler
Mga detalye ng Software:
Bersyon: 1.0
I-upload ang petsa: 3 Jun 15
Nag-develop: Fabrice Bellard
Lisensya: Libre
Katanyagan: 33

Rating: 3.5/5 (Total Votes: 2)

Obfuscated Tiny C Compiler (OTCC) ay isang tunay maliit na C compiler sinulat ko upang manalo ang International obfuscated C Code Contest (IOCCC) noong 2002.
Aking layunin ay upang isulat ang pinakamaliit C compiler na kung saan ay maaaring sumulat ng libro mismo. Pinili ko ang isang subset ng mga C na kung saan ay pangkalahatang sapat na magsulat ng isang maliit na C compiler. Pagkatapos ng palugit ko ang C subset hanggang umabot ako sa maximum na laki pinahintulutan ng contest: 2048 bytes ng C source na hindi kasama ang ';', '{', '}' at ang puwang na karakter.
Pinili kong bumuo i386 code. Maaaring tumakbo lamang ang orihinal OTCC code sa i386 Linux dahil umasa ito sa endianness at unaligned access. Ito ay nakabuo ng mga programa sa memorya at inilunsad ito nang direkta. Panlabas na mga simbolo ay nalutas na may dlsym ().
Upang magkaroon ng isang portable na bersyon ng OTCC, ginawa ko ang isang variant na tinatawag OTCCELF. Ito ay lamang ng isang maliit na mas malaki kaysa sa OTCC, ngunit ito ay bumubuo ng direkta isang magilas na naka-link i386 duwende executable mula sa isang source C nang hindi umaasa sa anumang mga kasangkapan binutils! OTCCELF ay nasubok matagumpay sa i386 Linux at sa Sparc Solaris.
NOTE: Ang aking iba pang mga proyekto TinyCC kung saan ay isang ganap na itinampok ISOC99 C compiler ay isinulat sa pamamagitan ng pagsisimula mula sa source code ng OTCC!
Compilation:
gcc O2 otcc.c -o otcc -ldl
gcc O2 otccelf.c -o otccelf
Self-compilation:
./otccelf otccelf.c otccelf1

Katulad na software

Zsh
Zsh

17 Feb 15

Aubit 4GL compiler
Aubit 4GL compiler

20 Feb 15

Java Gui Builder
Java Gui Builder

3 Jun 15

execline
execline

18 Jul 15

Iba pang mga software developer ng Fabrice Bellard

QEMU
QEMU

22 Jun 18

FFmpeg
FFmpeg

17 Aug 18

Mga komento sa Obfuscated Tiny C Compiler

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!