مشوش C مترجم صغيرة (OTCC) هو مترجم C صغيرة جدا كتبت من أجل الفوز غموض C رمز المسابقة الدولية (IOCCC) في عام 2002.
كان هدفي أن أكتب أصغر C مترجم التي هي قادرة على تجميع نفسها. اخترت مجموعة فرعية من C الذي كان عام بما فيه الكفاية لكتابة مترجم C صغير. بعد ذلك مدد فرعية C حتى وصلت الحد الأقصى لحجم أذن بها المسابقة: 2048 بايت C مصدر باستثناء؛ حرفا، '{'، '}' والفضاء ''.
اخترت لإنشاء رمز I386. رمز OTCC الأصلي يمكن تشغيل فقط على لينكس i386 الموجود لأنه اعتمد على endianness والوصول محاذاتها. أنها ولدت البرنامج في الذاكرة وأطلقت عليه مباشرة. تم حل رموز الخارجية مع dlsym ().
من أجل الحصول على نسخة محمولة من OTCC، ولقد تقدمت متغير يسمى OTCCELF. كان أكبر قليلا فقط من OTCC، لكنه يولد مباشرة للتنفيذ ELF i386 الموجود مرتبطة بشكل حيوي من مصدر C دون الاعتماد على أي أدوات binutils! تم اختباره بنجاح OTCCELF على i386 الموجود لينكس وعلى سبارك سولاريس.
ملاحظة: بلدي الآخرين TinyCC المشروع الذي هو ISOC99 C مترجم متميز تماما كتبه بدءا من شفرة المصدر من OTCC!
تجميع:
دول مجلس التعاون الخليجي -O2 otcc.c -o otcc -ldl
دول مجلس التعاون الخليجي -O2 otccelf.c -o otccelf
الذاتي تجميع:
./otccelf otccelf.c otccelf1
تفاصيل البرنامج:
لم يتم العثور على التعليقات