gccrs در GCC 13 ادغام خواهد شد

gccrs

gccrs یک پیاده سازی جایگزین کامل از زبان Rust در GCC است

اخیراً مشخص شد که پروژه gccrs، که هدف آن ارائه یک رابط برای زبان Rust به GCC (مجموعه کامپایلر گنو) است. در راه است تا در شورای همکاری خلیج فارس 13 ادغام شود.  در کنفرانس توسعه دهندگان FOSDEM در اوایل این ماه، مهندس آرتور کوهن ارائه ای در مورد gccrs ارائه کرد که وضعیت فعلی کار را تشریح کرد.

برای کسانی که از پروژه gccrs بی اطلاع هستند، باید بدانند که این چنین است یک پیاده سازی جایگزین کامل از زبان Rust در بالای GCC با هدف تبدیل شدن به زنجیره ابزار گنو.

منشا این پروژه یک تلاش جامعه چندین سال پیش است، زمانی که Rust هنوز در نسخه 0.9 بود. زبان ایجاد شده توسط موزیلا دستخوش تغییرات زیادی شده است که برای تلاش جامعه دشوار شد.

اکنون که زبان پایدار است، زمان ایجاد کامپایلرهای جایگزین است:

"از سال 2014 شروع شد (و در سال 2019 دوباره راه اندازی شد)، تلاش ها از سال 2020 ادامه داشته است و ما تلاش های زیادی انجام داده ایم و پیشرفت های زیادی کرده ایم. ما اولین نسخه gccrs را در داخل GCC آپلود کرده ایم. بنابراین دفعه بعد که GCC 13 را نصب می کنید، gccrs داخل آن خواهد بود.

شما می توانید از آن استفاده کنید و می توانید شروع به هک کردن آن کنید، می توانید مشکلات را در زمانی که به ناچار خراب می شود و به طرز وحشتناکی می میرد گزارش دهید. آرتور کوهن در سخنرانی خود در کنفرانس FOSDEM در اوایل این ماه گفت: یکی از کارهای بزرگی که ما انجام می دهیم این است که روی مجموعه تست rustc کار کنیم.

توانایی اجرای موفقیت آمیز مجموعه آزمایشی کامپایلر rustc نیز یک هدف باقی مانده است. به گفته کوهن، رابط GCC Rust همچنین به Rust libcore 1.49 قدیمی تر اشاره می کند.

پرسش‌های متداول پروژه gccrs اشاره می‌کند که تمام فناوری‌های ساخت LLVM که توسط Rust استفاده می‌شوند، «بدون برخی از پشتیبان‌های سازگار با GCC هستند، بنابراین یک پیاده سازی gccrs می تواند شکاف های استفاده در توسعه تعبیه شده را پر کند".

البته توجه داشته باشید که کامپایلر Rust-GCC (gccrs) هنوز در مراحل اولیه است و هنوز نمی توان از آن برای کامپایل برنامه های Rust واقعی استفاده کرد.

تیم شورای همکاری خلیج فارس در ژوئیه گذشته به تأیید ادغام gccrs رأی داد به عنوان یک مجموعه ساخت. اهمیت این پروژه در اهمیت آن برای هسته لینوکس است. در واقع، هسته لینوکس معمولاً با GCC ساخته می‌شود، اما برنامه‌هایی برای اجازه استفاده از زبان Rust در کنار C برای کد هسته، به دلایل ایمنی حافظه، به طور پیوسته در حال پیشرفت هستند.

پروژه «Rust for Linux» در اکتبر گذشته رسماً در درخت اصلی Linux 6.1 Git ادغام شد و Rust را پس از 31 سال توسعه منحصراً مبتنی بر C به دومین زبان اختصاص داده شده برای توسعه لینوکس تبدیل کرد.

ما می‌خواهیم gccrs یک کامپایلر واقعی Rust باشد و نه یک پروژه اسباب‌بازی یا چیزی که زبانی شبیه Rust را کامپایل کند اما Rust نیست. ما واقعاً در تلاش هستیم تا این مجموعه آزمایشی کار کند.» در طول ارائه، کوهن همچنین گفت که اگرچه رابط Rust GCC 13 شروع خوبی دارد، اما هنوز کارهای زیادی برای انجام دادن وجود دارد. کد تأیید قرضی در حال حاضر به وضوح وجود ندارد، پشتیبانی از ماژول‌های داخلی و ذاتی هنوز ادامه دارد، و نقطه عطف مهم کامپایل کد Rust برای لینوکس هنوز محقق نشده است.

برای یادآوری، پروژه هدف "Rust for Linux" معرفی یک زبان برنامه نویسی سیستم جدید در هسته لینوکس است. به گفته کارشناسان، زبان Rust دارای یک ویژگی کلیدی است که در نظر گرفتن آن به عنوان زبان دوم هسته لینوکس بسیار جالب است: تضمین می کند که هیچ رفتار تعریف نشده ای رخ نمی دهد (تا زمانی که کد ناامن سالم باشد).

این شامل عدم وجود خطاهایی مانند استفاده پس از رایگان، دوبار رایگان، مسابقه داده و غیره است. بحث های مرتبط حول امکان کنار گذاشتن C به نفع زبان Rust می چرخد. اما لینوس توروالدز، خالق لینوکس، گفت که این هدف اعلام شده پروژه Rust for Linux نیست.

در نهایت، شایان ذکر است که اگرچه رابط gccrs ادغام شد برای نسخه بعدی GCC 13، هنوز در حالتی نیست که اکثر توسعه دهندگان Rust بتوانند از آن استفاده کنند به عنوان جایگزینی برای کامپایلر رسمی LLVM Rust.

حداقل با GCC 14 نباید تا سال آینده باشد.

Fuente: https://fosdem.org/


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.