ใน GCC พวกเขาอนุมัติการใช้งาน RUST (gccrs)

ล่าสุดมีข่าวดังกล่าว คณะกรรมการกำกับ GCC ได้อนุมัติการรวมการดำเนินการ gccrs แล้ว (GCC Rust) จากคอมไพเลอร์ Rust ในแกน GCC

ด้วยนั่นเอง GCC (คอลเลกชันคอมไพเลอร์ GNU) มีแบ็กเอนด์สำหรับ Rust . แล้วผ่านโครงการที่เรียกว่า rustc_codegen_gcc ก่อตั้งโดย Antoni Boucher มันยังคงอธิบายว่าอยู่ในระหว่างดำเนินการ แต่มันถูกรวมเข้ากับที่เก็บ Rust หลักในเดือนกันยายน 2021

สำหรับผู้ที่ไม่รู้ภาษา สนิม, พวกเขาควรรู้ว่าอะไรคืออะไรe มุ่งเน้นไปที่การจัดการหน่วยความจำที่ปลอดภัย และให้วิธีการทำงานคู่ขนานกันในระดับสูง การจัดการหน่วยความจำอย่างปลอดภัย ซึ่งไม่รวมข้อผิดพลาด เช่น การเข้าถึงพื้นที่หน่วยความจำหลังจากปล่อยว่าง การยกเลิกการอ้างอิงพอยน์เตอร์ null และบัฟเฟอร์ล้น ทำได้ใน Rust ในเวลาคอมไพล์ผ่านการตรวจสอบการอ้างอิง การติดตามความเป็นเจ้าของอ็อบเจ็กต์ การบัญชีตลอดอายุของอ็อบเจ็กต์ (ขอบเขต) ) และการประเมินความถูกต้องของการเข้าถึงหน่วยความจำในระหว่างการเรียกใช้โค้ด

สนิม ยังให้การป้องกันโอเวอร์โฟลว์จำนวนเต็มกำหนดให้ตัวแปรเริ่มต้นก่อนใช้งาน จัดการข้อผิดพลาดในไลบรารีมาตรฐานได้ดีกว่า บังคับใช้แนวคิดของการอ้างอิงและตัวแปรที่ไม่เปลี่ยนรูปแบบโดยค่าเริ่มต้น

หลังจากรวมอินเทอร์เฟซแล้ว ใน GCC มาตรฐาน สามารถใช้เพื่อคอมไพล์โปรแกรม Rust ได้โดยไม่ต้องติดตั้งคอมไพเลอร์ rustc ที่สร้างด้วย LLVM builds

ตั้งแต่เดือนพฤศจิกายน 2020 ฉันทำงานเต็มเวลากับ Rust front-end สำหรับ GCC ต้องขอบคุณ Open Source Security, Inc และ Embecosm ด้วยเหตุนี้ ฉันจึงเขียนถึงรายชื่อส่งเมลนี้เพื่อขอคำติชมจากประสบการณ์โดยรวมที่นี่ตั้งแต่เนิ่นๆ เพื่อวางแผนเส้นทางในการอัปโหลดส่วนหน้าไปยัง GCC

ความสำคัญของโครงการนี้คือความสำคัญของ Linux ซึ่งโดยทั่วไปแล้วสร้างด้วย GCC ซึ่งแผนการอนุญาตให้ใช้ Rust ควบคู่ไปกับ C สำหรับรหัสเคอร์เนล ด้วยเหตุผลด้านความปลอดภัยของหน่วยความจำ

ซึ่งหมายความว่าคอมไพเลอร์ Rust rustc สามารถใช้กับแบ็กเอนด์ GCC แบ็กเอนด์เป็นตัวสร้างโค้ดที่รองรับสถาปัตยกรรม CPU มากกว่า LLVM ซึ่งเป็นคอมไพเลอร์แบ็กเอนด์ปกติของ Rust แม้ว่าจะมีข้อจำกัด เช่น ต้องใช้ GCC เวอร์ชันแพตช์

ทางเลือกอื่นคือการมี GCC toolchain เต็มรูปแบบ ในเดือนมกราคม 2021 Open Source Security, Inc ผู้ผลิตเคอร์เนล Linux เวอร์ชันชุบแข็งที่เรียกว่า Grsecurity กล่าวว่าจะให้ทุนสนับสนุน "ความพยายามในการพัฒนาสาธารณะ" ของอินเทอร์เฟซ GCC สำหรับ Rust โดยอ้างว่าปรับปรุงการรักษาความปลอดภัย เพื่อผสมคอมไพเลอร์ต่างๆ

จากมุมมองของฉันในฐานะผู้นำในส่วนหน้านี้ เรากำลัง อยู่ระหว่างการพัฒนาอย่างหนัก ดังนั้น นี่จึงหมายถึงการหมุนเวียนโค้ดในปริมาณที่พอเหมาะ และฉันไม่เห็นการเปลี่ยนแปลงนี้จนกว่าเราจะรวบรวมได้สำเร็จ กล่อง libcore ในปลายปีนี้ ทั้งที่อยากเจอหน้ากัน รวมเข้ากับ GCC 13 ฉันต้องการให้แน่ใจว่าโครงการนี้ประสบความสำเร็จสำหรับ ทั้งหมด และนี่อาจหมายถึงการย้อนกลับไปยังหน้าต่างรุ่นถัดไป เพื่อให้แน่ใจว่าสามารถสร้าง front-end ที่มีคุณภาพให้นั่งได้ ร่วมกัน ให้กับผู้อื่น

บริษัท อ้างถึงบทความที่แสดงให้เห็นว่า "การรักษาความปลอดภัยโดยรวมของสภาพแวดล้อมรันไทม์สามารถลดลงได้อย่างไรโดยการแนะนำโค้ดที่เขียนด้วย Rust หรือภาษาอื่นที่คอมไพเลอร์ไม่ได้ให้การรักษาความปลอดภัยระดับไบนารีเหมือนกัน"

นักพัฒนา gccrs ควรเริ่มทำงานกับทีมตรวจสอบ และ GCC Change Release เพื่อสรุปและอนุมัติแพตช์ในแง่ของการปฏิบัติตามข้อกำหนดทางเทคนิคสำหรับโค้ดที่จะเพิ่มใน GCC

สมมติว่าการพัฒนา gccrs ดำเนินต่อไปตามแผนที่วางไว้และไม่ได้ระบุประเด็นที่ไม่คาดฝัน ส่วนหน้าของภาษา Rust จะถูกรวมเข้ากับ GCC 13 ที่จะวางจำหน่ายในเดือนพฤษภาคมปีหน้า. การใช้งาน Rust ใน GCC 13 จะอยู่ในสถานะเบต้า ยังไม่ได้เปิดใช้งานโดยค่าเริ่มต้น

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม เกี่ยวกับโครงการสามารถปรึกษารายละเอียดใน ลิงค์ต่อไปนี้


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   คิวทริท dijo

    เยี่ยมมาก ฉันหวังว่าการใช้งานนี้จะเป็นประโยชน์สำหรับโปรแกรมเมอร์หลายๆ คน