nwcc เป็นคอมไพเลอร์ C ขนาดเล็กสำหรับระบบปฏิบัติการ Unix ที่ผมเขียนไว้ในเวลาว่างของฉันเพื่อความสนุกสนานและเพื่อพิสูจน์กับตัวเองว่าจะทำได้ ผมเริ่มโครงการในเดือนสิงหาคมปี 2003 แต่เพราะผมมีงานทำและมีชีวิตและไม่กี่โครงการรหัสงานอดิเรกอื่น ๆ ก็เอาฉันจนถึงฤดูใบไม้ร่วงปี 2005 เพื่อให้การทำงานกับโครงสร้างต่างๆของภาษา C
ดังนั้นสิ่งที่ใหม่ไม่ nwcc นำไปตาราง? สิ่งสำคัญที่สุดคือรหัสสินค้า: ผมเขียนทุกอย่างจากรอยขีดข่วน - รวมทั้ง lexer parser และแบ็กเอนด์
รหัส nwcc เขียนในซี
ข่าวประชาสัมพันธ์ฉบับนี้ไม่ได้มีไว้สำหรับการใช้งานที่รุนแรง แต่อย่างน้อย nwcc แข็งแรงพอที่จะรวบรวมตัวเอง (ผลจากการที่สามารถรวบรวม nwcc เช่นกัน) จึงควรมีความสามารถในการจัดการกับอย่างน้อยบางโปรแกรมมีขนาดเล็ก ยังคงมีบางสิ่งบางอย่างที่ขาดหายไป / หัก แต่สิ่งที่มีการปรับปรุงเกือบทุกวัน (ฉันอัปโหลดการเปลี่ยนแปลงของฉันไปที่เอสเอฟทุกครั้งที่ผมเพิ่ม / แก้ไขสิ่งที่น่าสนใจ.)
มันต้องใช้เวลามากในการทำงานที่จะได้รับแม้กระทั่งชุดย่อยของภาษา C ที่จะรวบรวมเพื่อให้ความจริงที่ว่าบางสิ่งบางอย่างหายไปหรือทำผิดใน nwcc ไม่ได้หมายความว่าฉันไม่สนใจเกี่ยวกับว่าพื้นที่เฉพาะของภาษา C หรือการออกแบบคอมไพเลอร์ ; มันหมายความว่าผมยังไม่ได้อากาศรอบ ๆ เพื่อทำมันขวาหรือแท้จริงที่ทุกคนยัง
คุณสมบัติ .
- มีบางคุณสมบัติภาษา C ที่ขาดหายไปคือ ส่วนใหญ่ยวดสนับสนุนจุดลอย bitfields และสิ่งอื่น ๆ ไม่กี่ หลายสิ่งอื่น ๆ จะแตก (อาจมีข้อบกพร่องในสวยมากคุณลักษณะทุกภาษาที่ดำเนินการโดย nwcc)
- ไม่มีมีนักพัฒนาพลังงานที่ใช้ในการจัดตั้งคอมไพเลอร์จะพิจารณาหลักที่น่าสนใจยัง (นอกเหนือจากอาจจะคุณสมบัติการป้องกันสแต็ค.) ขออภัย ไม่มีอะไรนอกเหนือจากการรวบรวมใบ้ธรรมดา; การสนับสนุนสำหรับการสร้างห้องสมุดสาธารณะไม่มีการสนับสนุนสำหรับการแก้จุดบกพร่องหรือโปรไฟล์ไม่มีอะไรไม่มี
- ขณะนี้เพียงแบ็กเอนด์สำหรับการประมวลผลเป็น 80x86 (ซึ่งสร้างรหัสสำหรับ NASM Netwide ประกอบและทำงานบนลินุกซ์, FreeBSD และ OpenBSD)
- มีอย่างไม่มีการเพิ่มประสิทธิภาพหมายถึงรหัสที่สร้างขึ้นจะช้ามากเมื่อเทียบกับการส่งออกของคอมไพเลอร์ที่จัดตั้งขึ้น ผมจะทำงานเกี่ยวกับเรื่องนี้ในเร็ว ๆ นี้ แต่คุณควรเข้าใจว่าความกังวลหลักของฉันตอนนี้มีความถูกต้องรหัสและพกพามากกว่าความเร็ว (มันยากพอที่จะทำให้การทำงานของรหัสช้า!)
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- ข่าวประชาสัมพันธ์ฉบับนี้แก้ไขไม่กี่ (มันไม่มากเกินไป!) ทั่วไปและข้อบกพร่อง PIC เฉพาะที่ถูกพบในขณะที่การรวบรวม Tcl และ mksh.
มีอะไรใหม่ ในรุ่น 0.7.8:
- รุ่นนี้เพิ่มการสนับสนุนสำหรับระบบปฏิบัติการ Mac OS X บน x86 และ AMD64 และ NetBSD ในระบบ x86 ข้อบกพร่องแพลตฟอร์มต่างๆยังได้รับการแก้ไข.
มีอะไรใหม่ ในรุ่น 0.7.7:
- รุ่นนี้เพิ่มการสนับสนุนสำหรับลินุกซ์ / PPC64 และการแก้ไข หลายข้อบกพร่อง PPC เฉพาะ.
ความคิดเห็นที่ไม่พบ