gccrs จะถูกรวมเข้ากับ GCC 13

gccrs

gccrs เป็นการนำภาษา Rust ไปใช้งานบน GCC ทางเลือกที่สมบูรณ์

ล่าสุดมีการเปิดเผยว่า โครงการ gccrsซึ่งมีเป้าหมายเพื่อให้อินเทอร์เฟซสำหรับภาษา Rust กับ GCC (GNU Compiler Collection) กำลังจะรวมเข้ากับ GCC 13  ในการประชุมนักพัฒนา FOSDEM เมื่อต้นเดือนนี้ วิศวกร Arthur Cohen ได้นำเสนอเกี่ยวกับ gccrs โดยสรุปสถานะปัจจุบันของงาน

สำหรับผู้ที่ไม่รู้จักโครงการ gccrs พวกเขาควรรู้ว่านี่คือ การใช้งานทางเลือกที่สมบูรณ์ของภาษา Rust ที่ด้านบนของ GCC โดยมีเป้าหมายที่จะเป็น toolchain ของ GNU อย่างเต็มตัว

ที่มาของโปรเจ็กต์นี้คือความพยายามของชุมชนเมื่อหลายปีก่อน ตอนที่ Rust ยังเป็นเวอร์ชัน 0.9; ภาษาที่สร้างขึ้นโดย Mozilla นั้นมีการเปลี่ยนแปลงมากมายจนยากที่ชุมชนจะพยายามตามให้ทัน

เมื่อภาษาเสถียรแล้ว ก็ถึงเวลาสร้างคอมไพเลอร์สำรอง:

“เริ่มต้นในปี 2014 (และเปิดใช้อีกครั้งในปี 2019) ความพยายามดำเนินมาอย่างต่อเนื่องตั้งแต่ปี 2020 และเราได้ใช้ความพยายามอย่างมากและมีความก้าวหน้าอย่างมาก เราได้อัปโหลด gccrs เวอร์ชันแรกภายใน GCC ครั้งต่อไปที่คุณติดตั้ง GCC 13 มันจะมี gccrs อยู่ข้างใน

คุณสามารถใช้มันและเริ่มแฮ็คมันได้ คุณสามารถรายงานปัญหาเมื่อมันพังและตายอย่างหลีกเลี่ยงไม่ได้ สิ่งสำคัญอย่างหนึ่งที่เรากำลังทำคือทำให้ชุดทดสอบสนิมทำงานได้” Arthur Cohen กล่าวระหว่างการนำเสนอในการประชุม FOSDEM เมื่อต้นเดือนนี้

ความสามารถในการรันชุดทดสอบคอมไพเลอร์ rustc ได้สำเร็จยังคงเป็นเป้าหมาย ตามที่โคเฮนกล่าวว่า อินเทอร์เฟซ GCC ของ Rust ยังชี้ไปที่ Rust libcore 1.49 ที่เก่ากว่า.

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

อย่างไรก็ตาม โปรดทราบว่าคอมไพเลอร์ Rust-GCC (gccrs) ยังอยู่ในช่วงเริ่มต้นและยังไม่สามารถใช้คอมไพล์โปรแกรม Rust จริงได้

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

โครงการ "Rust for Linux" ได้รวมเข้ากับแผนผังหลักของ Linux 6.1 Git อย่างเป็นทางการเมื่อเดือนตุลาคมปีที่แล้ว ทำให้ Rust เป็นภาษาที่สองสำหรับการพัฒนา Linux โดยเฉพาะ หลังจาก 31 ปีของการพัฒนาโดยใช้ภาษา C โดยเฉพาะ

“เราต้องการให้ gccrs เป็นคอมไพเลอร์ของ Rust อย่างแท้จริง ไม่ใช่โปรเจ็กต์ของเล่นหรือบางสิ่งที่คอมไพล์ภาษาที่ดูเหมือน Rust แต่ไม่ใช่ Rust; เรากำลังพยายามทำให้ชุดทดสอบนี้ใช้งานได้จริง” เขากล่าวเสริม ในระหว่างการนำเสนอ โคเฮนยังกล่าวด้วยว่าแม้ว่าอินเทอร์เฟซ Rust ของ GCC 13 จะเริ่มต้นได้ดี แต่ก็ยังมีงานอีกมากที่ต้องทำ รหัสการตรวจสอบที่ยืมมาขาดหายไปอย่างเห็นได้ชัดในขณะนี้ การสนับสนุนสำหรับโมดูลที่มีอยู่แล้วภายในและภายในยังคงดำเนินต่อไป และยังไม่ถึงขั้นตอนสำคัญในการรวบรวมรหัส Rust สำหรับ Linux

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

ซึ่งรวมถึงการไม่มีข้อผิดพลาด เช่น การใช้งานฟรีภายหลัง การเพิ่มข้อมูลซ้ำซ้อน การแย่งชิงข้อมูล เป็นต้น การโต้วาทีที่เกี่ยวข้องเกี่ยวข้องกับความเป็นไปได้ที่จะเลิกใช้ภาษา C แทนภาษา Rust แต่ Linus Torvalds ผู้สร้าง Linux กล่าวว่านั่นไม่ใช่เป้าหมายที่ระบุไว้ของโครงการ Rust for Linux

ในที่สุด เป็นมูลค่าการกล่าวขวัญว่า แม้ว่าอินเทอร์เฟซ gccrs จะถูกรวมเข้าด้วยกัน สำหรับ GCC 13 เวอร์ชันถัดไป ยังไม่อยู่ในสถานะที่นักพัฒนา Rust ส่วนใหญ่สามารถใช้งานได้จริง เป็นทางเลือกแทนคอมไพเลอร์ LLVM อย่างเป็นทางการของ Rust

ไม่น่าจะถึงปีหน้า อย่างน้อยก็ GCC 14 เป็นอย่างน้อย

Fuente: https://fosdem.org/


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

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

*

*

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