offuscato C Compiler Piccolo (OTCC) è un piccolo compilatore C che ho scritto al fine di vincere la Obfuscated C International Codice Contest (IOCCC) nel 2002.
Il mio obiettivo era quello di scrivere il compilatore C più piccolo, che è in grado di compilare sé. Scelgo un sottoinsieme di C che era abbastanza per scrivere un piccolo compilatore C generale. Poi ho esteso il C sottoinsieme fino a raggiungere le dimensioni massime autorizzate per il concorso: 2048 byte di C fonte escludendo i, personaggi, '{', '}' e lo spazio ''.
Ho scelto di generare il codice i386. Il codice originale OTCC poteva essere eseguito solo su Linux i386 perché basata su endian e accesso non allineato. Essa ha generato il programma nella memoria e lanciato direttamente. Simboli esterni sono stati risolti con dlsym ().
Al fine di avere una versione portatile di OTCC, ho fatto una variante denominata OTCCELF. E 'solo un po' più grande OTCC, ma genera direttamente un eseguibile ELF i386 collegata dinamicamente da una fonte C senza fare affidamento su alcuni attrezzi binutils! OTCCELF è stato testato con successo su i386 Linux e su Sparc Solaris.
NOTA: Il mio altro progetto TinyCC che è un ISOC99 compilatore C completamente descritto è stato scritto partendo dal codice sorgente di OTCC!
Compilation:
gcc -O2 otcc.c -o OTCC -ldl
gcc -O2 otccelf.c -o otccelf
Auto-compilazione:
./otccelf otccelf.c otccelf1
Dettagli del software:
Versione: 1.0
Data di caricamento: 3 Jun 15
Licenza: Libero
Popolarità: 98
I commenti non trovato