وcc65 هو مجموعة التنمية عبر أنظمة كاملة ل6502، بما في ذلك المجمع قوية الكلي، مترجم C، رابط، أمين مكتبة والعديد من الأدوات الأخرى. ويستند cc65 على مترجم C التي تم تكييفها في الأصل لأجهزة الكمبيوتر من 8bit أتاري التي كتبها جون ر. دانينغ.
المترجم C الأصلي هو سليل الصغيرة C ولكن لديها العديد من التمديدات، وبعض من حدود مترجم الصغيرة C الأصلي ولت. يسمح حق المؤلف الأصلي إعادة توزيع مجانا بما في ذلك المصادر، حتى لو انها لن التأهل مفتوح كما برمجيات المصدر وفقا لتعريف المصدر المفتوح.
المترجم أتاري الأصلي هو متاح من http://www.umich.edu/~archive/atari/8bit/Languages/Cc65/. تتكون حزمة كاملة من المترجم، وهو المجمع، أمين مكتبة، والربط، ومكتبة C لأتاري. هناك بعض الحزم على الشبكة التي تدعي أن تتكيف باعتباره crosscompiler لDOS أو Unix، ولكن لم يكن قادرا على الحصول عليها العمل بشكل صحيح.
لأنني أردت مترجم C لآلات CBM بلدي، أخذت مترجم أتاري وبدأ كتابة. وحتى اليوم، ولقد إعادة كتابة أجزاء كبيرة من مترجم، كل من مكتبة، والاستعاضة تماما المجمع، رابط، ومكتبة، وأضاف الواجهة لتبسيط الاستخدام. وقد تم القيام به كل التغييرات مع قابلية في الاعتبار، لذلك يجب ترقية إلى 6502 أبنية جديدة يكون من السهل جدا.
المترجم هو تقريبا ISO C متوافق، لذلك يجب أن تكون قادرة على ترجمة العديد من المصادر من الأنظمة الأخرى.
قد تكون هناك قيود أخرى تعتمد النظام المستهدف. مثال واحد هو ملف I / O، التي لم تنفذ على جميع المنابر. هذا ليس الحد التقنية (كما هو الحال مع الاشياء المذكورة أعلاه)، ولكن لا يعني فقط أن لا أحد يهتم بما فيه الكفاية لكتابة الرمز الفعلي.
المترجم هو فقط واحدة من الأدوات المتاحة في هذه الحزمة. جناح المجمع (المجمع، رابط، أرشيفي) هو بيئة تطوير كاملة لنفسها، التي يمكن استخدامها لكتابة برامج لأي آلة 6502. كود C ورمز المجمع يمكن استخدام معا، ويمكن الاتصال ببعضهم البعض.
المجمع هو macroassembler مرور واحد وغير قادرة على التوليف ل6502، و65SC02 و65SC816. انها لديها الكثير من الميزات أنيق مثل تضمين الملفات، والتجمع المشروط، وحدات الماكرو، ومستويات المعجمية المتداخلة (وهذا هو والرموز المحلية)، وأكثر من ذلك. المجمع بإنشاء ملفات الكائنات المحتوية على رمز نقال. يجب تشغيل هذه الملفات من خلال رابط لإنشاء البرنامج النهائي.
رابط لديه تنسيق الإخراج مرنة وقادرة على دعم كود ROMable (تحميل وتشغيل عناوين مختلفة للبيانات)، وأنظمة راهن (شرائح قد تشترك عنوان المدى نفسه)، ونظم مع المدمجة متعددة، قطاعات غير محدود، وقطاع BSS أكثر من واحد و الكثير من الأشياء الأخرى.
يتم استخدام أرشيفي لإنشاء مكتبات تحتوي على كائنات الملفات. هذا يبسط إدارة التعليمات البرمجية. سوف رابط استخراج فقط تلك الوحدات من مكتبة أن هناك حاجة فعلا.
لاستخدام simplifiy، وهناك أيضا الواجهة إلى الأدوات الواردة في حزمة cc65. تم تسمية الواجهة CL65. فهو يعرف كيفية بناء ثنائيات من قائمة ملفات C، ملفات المجمع والملفات وجوه والمكتبات. بالنسبة للمشروعات الصغيرة، وهناك حاجة فقط الاحتجاج واحد من الأداة CL65 لبناء ثنائي من عدة ملفات المصدر والمكتبات
الميزات:.
ومترجم يسمح تعليقات خط واحد التي تبدأ ب / /. تم تعطيل هذه الميزة في وضع ANSI صارمة.
المترجم يسمح المعلمات لم تسمها في قوائم المعلمة. سوف المترجم لا تصدر تحذيرات حول معلمات غير المستخدمة التي لا يكون له اسم. تم تعطيل هذه الميزة في وضع ANSI صارمة.
المترجم لديه بعض كلمات أخرى أن هناك حاجة لميزات خاصة. في وضع ANSI الصارم، وكلمات أخرى تبدأ مع اثنين من أحرف (_).
المعدل متقلبة ليس له أي تأثير.
أنواع البيانات تطفو وضعف غير متوفرة.
المترجم لا يدعم حقول بت.
وظائف C قد لا يعود البنيات ولا يجوز تمرير البنيات كمعلمات من حيث القيمة. احالة البنية ممكن.
هناك بعض القيود على حجم المتغيرات المحلية. لا تتوفر كافة العمليات إذا كان حجم المتغيرات المحلية يتجاوز 256 بايت.
جزء من مكتبة C متاح فقط مع الاتفاقيات fastcall استدعاء (انظر أدناه). وهذا يعني، أنك قد لا خلط مؤشرات إلى تلك الوظائف مع مؤشرات إلى وظائف المستعمل مكتوب.
ما هو الجديد في هذا الإصدار:
بعض القضايا الكلية ومشاكل مع رمز غير صحيح إنشاؤها بواسطة المحول البرمجي C تم إصلاحها.
ويشمل ذلك تحويل وظيفة لإبطال المؤشر والروتين تقسيم وقت التشغيل.
وكان المجمع أيضا بعض القضايا الكلية ومشكلة مع التحالفات أكبر من 256 بايت.
كانت هناك مشاكل مع 80 وضع العمود وconio التمرير في المكتبة C128.
المكتبة أتاري لديها الآن POSIX الروتينية الدليل.
كانت هناك العديد من التغييرات وثائق، والحلول، والتحسينات.
ما هو الجديد في الإصدار 2.13.0
:
تم إضافة دعم لحقول قليلا.
هذا الإصدار يحسن الالتزام بالمعايير، وتنبعث تحذيرات إضافية لرمز مشكوك فيها.
يتم ضبطها المكتبات لمزيد من السرعة أو حجم أصغر.
البرمجي كود أسرع في كثير من الحالات، وعادة من دون الكثير من زيادة في حجم التعليمات البرمجية.
لم يتم العثور على التعليقات