Trong GCC, họ đã phê duyệt việc triển khai RUST (gccrs)

Gần đây tin tức đã phá vỡ rằng Ban chỉ đạo GCC đã phê duyệt việc đưa vào thực hiện gccrs (GCC Rust) từ trình biên dịch Rust trong lõi GCC.

Với GCC (Bộ sưu tập trình biên dịch GNU) đã có một chương trình phụ trợ cho Rust, thông qua dự án mang tên gỉc_codegen_gcc do Antoni Boucher thành lập. Nó vẫn được mô tả là một công việc đang được tiến hành, nhưng nó đã được hợp nhất vào kho lưu trữ Rust chính vào tháng 2021 năm XNUMX.

Đối với những người không biết ngôn ngữ Rỉ sét, họ nên biết cái gì làe tập trung vào quản lý bộ nhớ an toàn và cung cấp các phương tiện để đạt được công việc song song cao. Xử lý bộ nhớ an toàn, loại trừ các lỗi như truy cập một vùng bộ nhớ sau khi giải phóng nó, bỏ tham chiếu đến con trỏ rỗng và tràn giới hạn bộ đệm, đạt được trong Rust tại thời điểm biên dịch thông qua việc kiểm tra các tham chiếu, theo dõi quyền sở hữu đối tượng, tính thời gian tồn tại của các đối tượng (phạm vi ), và đánh giá tính đúng đắn của việc truy cập bộ nhớ trong quá trình thực thi mã.

Rust cũng cung cấp bảo vệ chống tràn số nguyên, yêu cầu các biến phải được khởi tạo trước khi sử dụng, xử lý tốt hơn các lỗi trong thư viện chuẩn, thực thi khái niệm tham chiếu và biến bất biến theo mặc định.

Sau khi tích hợp giao diện, trong GCC tiêu chuẩn, nó có thể được sử dụng để biên dịch các chương trình Rust mà không cần cài đặt trình biên dịch gỉ được xây dựng với các bản dựng LLVM.

Kể từ tháng 2020 năm XNUMX, tôi đã làm việc toàn thời gian trên giao diện người dùng Rust cho GCC, nhờ Open Source Security, Inc và Embecosm. Do đó, tôi viết thư cho danh sách gửi thư này để sớm tìm kiếm phản hồi từ kinh nghiệm tập thể ở đây để lên kế hoạch cho con đường tải giao diện người dùng lên GCC.

Tầm quan trọng của dự án này là tầm quan trọng của nó đối với Linux, thường được xây dựng bằng GCC, nơi các kế hoạch cho phép Rust được sử dụng cùng với C cho mã hạt nhân, vì lý do an toàn bộ nhớ, liên tục được tiến hành.

Điều này có nghĩa là trình biên dịch Rust, gỉc, có thể được sử dụng với phần phụ trợ GCC, Phần phụ trợ là trình tạo mã hỗ trợ nhiều kiến ​​trúc CPU hơn LLVM, trình biên dịch phụ trợ thông thường của Rust, mặc dù có những hạn chế, chẳng hạn như yêu cầu phiên bản vá lỗi của GCC.

Giải pháp thay thế là có một chuỗi công cụ GCC đầy đủ. Vào tháng 2021 năm XNUMX, Open Source Security, Inc, nhà sản xuất phiên bản cứng của nhân Linux có tên Grsecurity, cho biết họ sẽ tài trợ cho "nỗ lực phát triển công khai" giao diện GCC cho Rust, với lý do nó cải thiện bảo mật bằng cách không có để trộn các trình biên dịch khác nhau.

Theo quan điểm của tôi với tư cách là người đi đầu trong giao diện người dùng này, chúng tôi hiện đang đang được phát triển mạnh mẽ, vì vậy điều này có nghĩa là một lượng mã luân phiên hợp lý và tôi không thấy điều này thay đổi cho đến khi chúng tôi có thể biên dịch thành công hộp libcore vào cuối năm nay. Mặc dù mình rất muốn gặp nhau được sáp nhập vào GCC 13, tôi muốn đảm bảo rằng dự án này sẽ thành công tất cả và điều này có nghĩa là quay trở lại cửa sổ phát hành tiếp theo để đảm bảo điều này có thể quản lý được để tạo ra giao diện người dùng chất lượng cùng nhau cho người khác.

Công ty đã trích dẫn một bài báo cho thấy "cách bảo mật tổng thể của môi trường thời gian chạy có thể được giảm bớt bằng cách giới thiệu mã được viết bằng Rust hoặc một ngôn ngữ khác mà trình biên dịch không cung cấp bảo mật cấp nhị phân tương tự."

các nhà phát triển gccrs được khuyến khích bắt đầu làm việc với các nhóm đánh giá và Bản phát hành thay đổi GCC để hoàn thiện và phê duyệt các bản vá trong điều kiện đáp ứng các yêu cầu kỹ thuật đối với mã được thêm vào GCC.

Giả sử rằng sự phát triển của gccrs tiếp tục theo kế hoạch và không có vấn đề không lường trước được xác định, giao diện người dùng ngôn ngữ Rust sẽ được tích hợp vào bản phát hành GCC 13 dự kiến ​​vào tháng XNUMX năm sau. Việc triển khai Rust trong GCC 13 sẽ ở trạng thái beta, chưa được bật theo mặc định.

Cuối cùng nếu bạn muốn biết thêm về nó về dự án, bạn có thể tham khảo thông tin chi tiết tại liên kết sau.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   qtrit dijo

    Tuyệt vời, tôi hy vọng việc triển khai sẽ hữu ích cho nhiều lập trình viên.