cproc - คอมไพเลอร์ขนาดกะทัดรัดใหม่สำหรับภาษา C

Michael Forney ผู้พัฒนาเซิร์ฟเวอร์คอมโพสิต swc ที่ใช้โปรโตคอล Wayland กำลังพัฒนาคอมไพเลอร์ cproc ใหม่ที่รองรับมาตรฐาน C11 และส่วนขยาย GNU บางส่วน ในการสร้างไฟล์ปฏิบัติการที่ได้รับการปรับปรุงประสิทธิภาพ คอมไพเลอร์จะใช้โปรเจ็กต์ QBE เป็นแบ็กเอนด์ รหัสคอมไพเลอร์เขียนด้วยภาษา C และเผยแพร่ภายใต้ใบอนุญาต ISC ฟรี

การพัฒนายังไม่เสร็จสมบูรณ์ แต่ในขั้นตอนปัจจุบันมีการรองรับข้อกำหนด C11 ส่วนใหญ่แล้ว คุณลักษณะที่ไม่ได้รับการสนับสนุนในปัจจุบัน ได้แก่ อาร์เรย์ที่มีความยาวผันแปรได้, ตัวประมวลผลล่วงหน้า, การสร้างไฟล์ปฏิบัติการ PIE (โค้ดที่ไม่ขึ้นกับตำแหน่ง) และไลบรารีที่แบ่งใช้, แอสเซมเบลอร์แบบอินไลน์, ประเภท “long double”, ตัวระบุ _Thread_local, ประเภทที่ระเหยได้, ตัวอักษรสตริงพร้อมคำนำหน้า (ล"..." ).

ในขณะเดียวกัน ความสามารถของ cproc ก็เพียงพอแล้วสำหรับการสร้างตัวเอง, mcpp, gcc 4.7, binutils และแอปพลิเคชันพื้นฐานอื่น ๆ ความแตกต่างที่สำคัญจากคอมไพเลอร์อื่นๆ คือการมุ่งเน้นที่การสร้างการใช้งานที่มีขนาดกะทัดรัดและไม่ซับซ้อน ตัวอย่างเช่น แบ็กเอนด์ช่วยให้คุณสร้างโค้ดที่แสดงให้เห็น 70% ของประสิทธิภาพของคอมไพเลอร์ขั้นสูง แต่ฟังก์ชันการทำงานที่เสนอนั้นอยู่ภายใน 10% ของคอมไพเลอร์ขนาดใหญ่ รองรับการสร้างสถาปัตยกรรม x86_64 และ aarch64 บนแพลตฟอร์ม Linux และ FreeBSD ด้วยไลบรารี Glibc, bsd libc และ Musl

ที่มา: opennet.ru

เพิ่มความคิดเห็น