cc65 היא חבילת פיתוח צלב מלאה למערכות 6502, כולל מאסף חזק מאקרו, מהדר C, מקשר, ספרנית וכמה כלים אחרים. cc65 מבוסס על מהדר C שהותאם במקור למחשבי 8bit עטרי על ידי ג 'ון ר' דאנינג.
מהדר C המקורי הוא צאצא הקטן C אבל יש כמה הרחבות, וחלק מהמגבלות של המהדר הקטן C המקורי נעלם. זכויות היוצרים המקוריות מאפשרת חלוקה מחדש ללא תשלום כולל מקורות, גם אם זה לא היה זכאי תוכנות קוד פתוחות כעל פי הגדרת הקוד הפתוחה.
מהדר עטרי המקורי זמין מhttp://www.umich.edu/~archive/atari/8bit/Languages/Cc65/. החבילה המלאה כוללת מהדר, מאסף, ספרן, מקשר, וספריית C לאטארי. יש כמה חבילות ברשת המתיימרות להיות מותאמים כcrosscompiler עבור DOS או יוניקס, אך לא הצליחו להשיג אותם פועל כראוי.
כי רציתי מהדר C למכונות CBM, לקחתי את המהדר עטרי והתחלתי לשכתב. עד היום, יש לי לשכתב חלקים גדולים של המהדר, כל הספרייה, הוחלף לחלוטין מאסף, מקשר והספרנית, והוסיף ממשק לפשט שימוש. כל השינויים נעשו עם ניידות בראש, אז porting ל6502 ארכיטקטורות חדשות צריך להיות די קל.
מהדר כמעט ISO C תואם, כך שאתה צריך להיות מסוגל לתרגם מקורות רבים ממערכות אחרות.
אולי יש מגבלות תלויות מערכת היעד אחרות. דוגמא אחת היא לי קובץ / O, שאינו מיושם על כל הפלטפורמות. זה לא מגבלה טכנית (כמו בדברים שהוזכרו לעיל), אבל אין פשוט אומר שאף אחד לא אכפת מספיק כדי לכתוב את הקוד בפועל.
מהדר הוא רק אחד הכלים הזמינים בחבילה זו. הסוויטה מאסף (מאסף, מקשר, Archiver) היא סביבת פיתוח מלאה עבור עצמו, שניתן להשתמש בו כדי לכתוב תוכניות לכל מכונה 6502. קוד C וקוד האסמבלר ניתן להשתמש יחד ויכולים לקרוא אחד את השני.
המאסף הוא macroassembler מעבר אחד, והוא מסוגל קוד פלט עבור 6502, 65SC02 ו65SC816. יש לו הרבה תכונות מגניבות כמו כולל קבצים, הרכבה מותנית, פקודות מאקרו, רמות לקסיקליות מקוננות (כלומר, סמלים מקומיים), ועוד. המאסף יוצר קבצים המכילים קוד אובייקט relocatable. יש להפעיל את הקבצים הללו באמצעות מקשר כדי ליצור את התכנית הסופית.
יש מקשר תבנית פלט גמישה ויכול לתמוך בקוד ROMable (עומס שונה וכתובות לרוץ לנתונים), פקידת מערכות (מגזרים עשויים לשתף אותה כתובת הריצה), מערכות עם תקליטורים מרובים, קטעים בלתי מוגבלים, קטע BSS יותר מפעם אחת ו הרבה דברים אחרים.
Archiver משמש ליצירת ספריות קבצים המכילות אובייקטים. זה מפשט את ניהול קוד. מקשר יהיה לחלץ רק את המודולים מספרייה כי יש צורך דווקא.
לשימוש simplifiy, יש גם ממשק לכלים כלולים בחבילת cc65. הממשק נקרא CL65. הוא יודע איך לבנות קבצים בינאריים מתוך רשימה של קבצי C, קבצים מאסף, קבצים וספריות אובייקט. לפרויקטים קטנים יותר, יש צורך רק קריאה אחת של שירות CL65 לבנות בינארי מכמה קבצי מקור וספריות
תכונות :.
- מהדר מאפשר הערות שורה אחת שמתחילות עם //. תכונה זו אינה זמינה במצב ANSI קפדן.
- מהדר מאפשר פרמטרים ללא שם ברשימות פרמטרים. המהדר לא ינפיק אזהרות על פרמטרים שאינם בשימוש שאין לו שם. תכונה זו אינה זמינה במצב ANSI קפדן.
- יש מהדר כמה מילות מפתח נוספות, הדרושים לתכונות מיוחדות. במצב ANSI קפדן, מילות מפתח נוספות להתחיל עם שני קווים תחתונים.
- יש משנה נדיפים אין כל השפעה.
- datatypes לצוף וכפול אינם זמינים.
- מהדר אינו תומך בשדות קצת.
- ייתכן שלא יחזרו structs וstructs אין להעביר כפרמטרים לפי ערך. משימת struct אפשרית.
- יש כמה הגבלה על הגודל של משתנים מקומיים. לא כל הפעולות זמינות אם הגודל של משתנים מקומיים עולה על 256 בתים.
- חלק מספריית C זמין רק עם מוסכמות fastcall קורא (ראה להלן). משמעות הדבר היא, שאתה לא יכול לערבב מצביעים לפונקציות אלה עם מצביעים לפונקציות משתמש כתוב.
פונקציות C
מה חדש בהודעה זו:
- חלק סוגיות מקרו ובעיות עם קוד שגוי שנוצרו על ידי C מהדר תוקנו.
- זה כולל המרת פונקציה לביטול מצביע ושגרת חלוקת זמן ריצה.
- מאסף גם היה כמה בעיות מקרו ובעיה עם מערכים גדולים יותר מ- 256 בתים.
- היו בעיות במצב 80 טור וconio גלילה בספריית C128.
- הספרייה עטרי עכשיו יש רוטינות ספריית POSIX.
- היו כמה שינויי תיעוד, תיקונים ושיפורים.
מה חדש בגרסה 2.13.0:.
- תמיכה עבור קצת-שדות נוספה
- מהדורה זו משפרת תאימות לסטנדרטים, ואזהרות נוספות נפלטות לקוד מפוקפק.
- הספריות מכוונים ליותר מהיר או גודל קטן יותר.
- מהדר מייצר קוד מהר יותר ובמקרים רבים, בדרך כלל בלי הרבה מגידול בגודל קוד.
תגובות לא נמצא