מהדר 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 ועל ספארק Solaris.
הערה: פרויקט האחר שלי TinyCC שהוא מהדר ISOC99 C מופיע במלואם נכתב על ידי להתחיל מקוד המקור של OTCC!
אוסף:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf
אוסף עצמי:
./otccelf otccelf.c otccelf1
פרטי תוכנה:
תגובות לא נמצא