Obfuscated compilateur C minuscule (SITO) est un très petit compilateur C je l'ai écrit dans le but de gagner le Obfuscated code C Concours International (IOCCC) en 2002.
Mon but était d'écrire le compilateur C de plus petite qui est capable de se compiler. Je choisis un sous-ensemble de C qui était assez pour écrire un petit compilateur C général. Ensuite, je tendis le sous-ensemble C jusqu'à ce que je atteint la taille maximale autorisée par le concours: 2048 octets de code source en C; à l'exclusion des caractères, «{», «}» et de l'espace ''.
Je choisis de générer du code i386. Le code OTCC originale ne pouvait fonctionner sur Linux i386, car elle reposait sur boutisme et l'accès non aligné. Il a généré le programme dans la mémoire et lancé directement. Symboles externes ont été résolus avec dlsym ().
Afin d'avoir une version portable de SITO, je fis une variante appelée OTCCELF. Il est seulement un peu plus grand que SITO, mais il génère directement un ELF i386 exécutable lié dynamiquement à partir d'une source de C sans compter sur des outils de binutils! OTCCELF a été testé avec succès sur Linux i386 et Sparc Solaris.
NOTE: Mon autre projet TinyCC qui est un compilateur entièrement comporté ISOC99 C a été écrit en partant du code source de SITO!
Compilation:
gcc -O2 -o otcc.c OTCC -ldl
gcc -O2 -o otccelf.c otccelf
Auto-compilation:
./otccelf otccelf.c otccelf1
Détails logiciels:
Version: 1.0
Date de transfert: 3 Jun 15
Licence: Gratuit
Popularité: 98
Commentaires non trouvées