cc65 เป็นแพคเกจการพัฒนาข้ามที่สมบูรณ์แบบสำหรับระบบ 6502 รวมทั้งผู้ประกอบแมโครที่มีประสิทธิภาพ, คอมไพเลอร์ C, ลิงเกอร์, บรรณารักษ์และเครื่องมืออื่น ๆ cc65 อยู่บนพื้นฐานของคอมไพเลอร์ C ที่ได้รับการดัดแปลงมาเพื่อ Atari เครื่องคอมพิวเตอร์ 8 บิตโดยจอห์นอา Dunning
คอมไพเลอร์ C เดิมเป็นทายาท C ขนาดเล็ก แต่มีหลายส่วนขยายและบางส่วนของข้อ จำกัด ของเดิมเรียบเรียง C ขนาดเล็กจะหายไป ลิขสิทธิ์เดิมช่วยให้การกระจายฟรีรวมถึงแหล่งที่แม้ว่ามันจะไม่ได้มีคุณสมบัติเป็นซอฟต์แวร์โอเพ่นซอร์สตาม Open Source Definition
คอมไพเลอร์ Atari เดิมสามารถใช้ได้จาก http://www.umich.edu/~archive/atari/8bit/Languages/Cc65/ แพคเกจที่สมบูรณ์ประกอบด้วยคอมไพเลอร์, ประกอบ, บรรณารักษ์, ลิงเกอร์และห้องสมุด C สำหรับอาตาริ มีแพ็กเกจบางส่วนในสุทธิที่อ้างว่าจะได้รับการดัดแปลงเป็น crosscompiler สำหรับ DOS หรือ Unix มี แต่ไม่สามารถที่จะได้รับพวกเขาทำงานอย่างถูกต้อง
เพราะผมอยากคอมไพเลอร์ C สำหรับเครื่อง CBM ของฉันฉันเอาคอมไพเลอร์อาตาและเริ่มเขียน จนถึงวันนี้ผมได้เขียนใหม่ส่วนใหญ่ของคอมไพเลอร์ทั้งหมดของห้องสมุดอย่างสมบูรณ์แทนที่ประกอบ, ลิงเกอร์และบรรณารักษ์และเพิ่มส่วนหน้าเพื่อให้ง่ายต่อการใช้งาน การเปลี่ยนแปลงทั้งหมดที่ได้รับการดำเนินการกับการพกพาในใจดังนั้น porting ใหม่ 6502 สถาปัตยกรรมที่ควรจะค่อนข้างง่าย
คอมไพเลอร์เกือบจะเป็น ISO C เข้ากันได้ดังนั้นคุณควรจะสามารถที่จะแปลหลายแหล่งที่มาจากระบบอื่น ๆ
อาจจะมีระบบเป้าหมายอื่น ๆ ขึ้นอยู่กับข้อ จำกัด ตัวอย่างหนึ่งคือไฟล์ I / O ซึ่งไม่ได้ดำเนินการในทุกแพลตฟอร์ม นี้จะไม่มีข้อ จำกัด ทางเทคนิค (เช่นเดียวกับสิ่งที่กล่าวมาข้างต้น) แต่ไม่เพียงแค่หมายความว่าไม่มีใครได้รับการดูแลมากพอที่จะเขียนโค้ดที่เกิดขึ้นจริง
คอมไพเลอร์เป็นเพียงหนึ่งในเครื่องมือที่มีอยู่ในแพคเกจนี้ ชุดประกอบ (ประกอบลิงเกอร์, Archiver) คือการพัฒนาสภาพแวดล้อมที่สมบูรณ์แบบสำหรับตัวเองที่อาจจะใช้ในการเขียนโปรแกรมสำหรับเครื่อง 6502 ใด ๆ รหัส C และรหัสผู้ประกอบอาจจะใช้ร่วมกันและอาจจะเรียกกัน
ประกอบเป็น macroassembler ผ่านหนึ่งและสามารถที่จะส่งออกสำหรับรหัส 6502, 65SC02 และ 65SC816 แต่ก็มีจำนวนมากคุณลักษณะที่ดีเช่นรวมไฟล์ประกอบเงื่อนไขแมโครระดับศัพท์ที่ซ้อนกัน (นั่นคือสัญลักษณ์ท้องถิ่น) และอื่น ๆ ประกอบสร้างไฟล์วัตถุที่มีรหัส relocatable ไฟล์เหล่านี้ต้องทำงานผ่านตัวเชื่อมโยงในการสร้างโปรแกรมสุดท้าย
ลิงเกอร์มีรูปแบบการส่งออกมีความยืดหยุ่นและสามารถรองรับรหัส ROMable (โหลดที่แตกต่างกันและที่อยู่สำหรับการเรียกใช้ข้อมูล) แถระบบ (กลุ่มอาจใช้ที่อยู่การทำงานเดียวกัน) ระบบที่มีรอมหลายกลุ่มไม่ จำกัด มากกว่าหนึ่งส่วน BSS และ จำนวนมากของสิ่งอื่น ๆ
Archiver ใช้ในการสร้างห้องสมุดที่มีวัตถุไฟล์ นี้ช่วยลดความยุ่งยากในการจัดการรหัส ลิงเกอร์จะดึงเฉพาะโมดูลที่มาจากห้องสมุดที่มีความจำเป็นจริง
กับการใช้ simplifiy นอกจากนี้ยังมีส่วนหน้าเพื่อเป็นเครื่องมือที่มีอยู่ในแพคเกจ cc65 ส่วนหน้าเป็นชื่อ CL65 มันรู้วิธีการสร้างไบนารีจากรายการของไฟล์ C ไฟล์ประกอบไฟล์วัตถุและห้องสมุด สำหรับโครงการขนาดเล็กเพียงหนึ่งอุทธรณ์ของยูทิลิตี้ CL65 เป็นสิ่งจำเป็นในการสร้างไบนารีจากไฟล์หลายแหล่งที่มาและห้องสมุด
คุณสมบัติ .
- คอมไพเลอร์จะช่วยให้การแสดงความคิดเห็นบรรทัดเดียวที่เริ่มต้นด้วย // คุณลักษณะนี้จะถูกปิดใช้งานในโหมด ANSI เข้มงวด.
- คอมไพเลอร์จะช่วยให้ค่าพารามิเตอร์ที่ไม่มีชื่ออยู่ในรายชื่อพารามิเตอร์ คอมไพเลอร์จะไม่ได้ออกคำเตือนเกี่ยวกับพารามิเตอร์ที่ไม่ได้ใช้ที่ไม่ได้มีชื่อ คุณลักษณะนี้จะถูกปิดใช้งานในโหมด ANSI เข้มงวด.
- คอมไพเลอร์มีบางคำหลักเพิ่มเติมที่จำเป็นสำหรับคุณสมบัติพิเศษ ในโหมด ANSI เข้มงวดคำหลักเพิ่มเติมเริ่มต้นด้วยสองขีด.
- ปรับปรุงระเหยไม่มีผล.
- ลอยประเภทข้อมูลและดับเบิลไม่สามารถใช้ได้.
- คอมไพเลอร์ไม่สนับสนุนสาขาบิต.
- ฟังก์ชั่นซีอาจไม่กลับ structs และ structs อาจจะไม่ถูกส่งผ่านเป็นพารามิเตอร์ด้วยค่า การกำหนดโครงสร้างเป็นไปได้.
- มีข้อ จำกัด บางประการเกี่ยวกับขนาดของตัวแปรท้องถิ่นที่มี ไม่ดำเนินการทั้งหมดที่มีอยู่ถ้าขนาดของตัวแปรท้องถิ่นเกิน 256 ไบต์.
- ส่วนหนึ่งของห้องสมุด C จะใช้ได้เฉพาะกับเรียกประชุม fastcall (ดูด้านล่าง) ซึ่งหมายความว่าคุณอาจจะไม่ผสมตัวชี้ไปยังฟังก์ชั่นที่มีตัวชี้ไปยังฟังก์ชั่นที่ผู้ใช้เขียน.
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- บางประเด็นแมโครและปัญหาเกี่ยวกับรหัสไม่ถูกต้องที่เกิดจาก C คอมไพเลอร์ได้รับการแก้ไข.
- ซึ่งรวมถึงฟังก์ชั่นการแปลงจะถือเป็นโมฆะชี้และกิจวัตรประจำวันส่วนรันไทม์.
- ประกอบยังมีปัญหาบางแมโครและปัญหาเกี่ยวกับการจัดแนวมากกว่า 256 ไบต์.
- มีปัญหากับโหมดคอลัมน์ 80 มีและเลื่อน Conio ในห้องสมุด C128.
- ห้องสมุดอาตาตอนนี้มีการปฏิบัติไดเรกทอรี POSIX.
- มีการเปลี่ยนแปลงเอกสารหลายแก้ไขและปรับปรุง.
มีอะไรใหม่ ในรุ่น 2.13.0.
- การสนับสนุนสำหรับสาขาบิตได้รับการเพิ่ม
- การเปิดตัวนี้จะช่วยปรับปรุงการปฏิบัติตามมาตรฐานและคำเตือนมีการปล่อยออกมาสำหรับรหัสที่น่าสงสัย.
- ห้องสมุดจะปรับความเร็วมากขึ้นหรือมีขนาดเล็กลง.
- คอมไพเลอร์สร้างรหัสได้เร็วขึ้นในหลายกรณีมักจะไม่มากจากการเพิ่มขึ้นในขนาดรหัส.
ความคิดเห็นที่ไม่พบ