Obfuscated Tiny C derleyicisi (OTCC) 2002 yılında Uluslararası Obfuscated C Kod Yarışması (IOCCC) kazanmak için yazdığı çok küçük bir C derleyicisi olduğunu.
Amacım kendisini derlemek mümkün en küçük C derleyicisi yazmak oldu. Ben küçük bir C derleyicisi yazmak için yeterli bir generaldi C'lik bir alt kümesini seçin. ';', '{', '}' Ve boşluk karakterleri hariç C kaynağı 2048 bayt: Ben maksimum yarışma yetkili boyutuna ulaşana kadar Sonra C alt kümesini uzattı.
Ben i386 kodu oluşturmak için seçin. Bu endian ve hizalanmamış erişim dayanıyordu çünkü orijinal OTCC kodu yalnızca i386 Linux çalıştırabilir. Bu bellek programı oluşturulur ve doğrudan başlattı. Dış semboller dlsym ile çözüldü ().
OTCC taşınabilir bir versiyonunu elde etmek için, ben OTCCELF olarak adlandırılan bir varyantı yaptı. Bu OTCC daha sadece biraz daha büyük, ama herhangi bir binutils araçları dayanmadan, doğrudan C kaynağından dinamik bağlantılı i386 ELF yürütülebilir üretir! OTCCELF başarıyla i386 Linux ve Solaris Sparc üzerinde test edildi.
NOT: OTCC kaynak kodundan başlayarak tarafından yazılmıştır tam özellikli ISOC99 C derleyicisi My diğer proje TinyCC!
Derleme:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf
Öz-derleme:
./otccelf otccelf.c otccelf1
Yazılım detaylar:
Yorum Bulunamadı