cproc - یک کامپایلر فشرده جدید برای زبان C

مایکل فورنی، توسعه دهنده سرور کامپوزیت swc بر اساس پروتکل Wayland، در حال توسعه یک کامپایلر جدید cproc است که از استاندارد C11 و برخی پسوندهای گنو پشتیبانی می کند. برای تولید فایل های اجرایی بهینه شده، کامپایلر از پروژه QBE به عنوان backend استفاده می کند. کد کامپایلر به زبان C نوشته شده است و تحت مجوز رایگان ISC توزیع می شود.

توسعه هنوز کامل نشده است، اما در مرحله فعلی پشتیبانی از بیشتر مشخصات C11 اجرا شده است. از جمله ویژگی‌هایی که در حال حاضر پشتیبانی نمی‌شوند، می‌توان به آرایه‌های با طول متغیر، یک پیش‌پردازنده، تولید فایل‌های اجرایی PIE (کد مستقل از موقعیت) و کتابخانه‌های مشترک، اسمبلر درون خطی، نوع «long double»، مشخص‌کننده _Thread_local، انواع فرار، حروف الفبای رشته‌ای با پیشوند اشاره کرد. (ل"...").

در عین حال، قابلیت‌های cproc برای ساخت خود، mcpp، gcc 4.7، binutils و سایر برنامه‌های اساسی کافی است. تفاوت اصلی با سایر کامپایلرها تمرکز بر ایجاد یک پیاده سازی فشرده و بدون پیچیدگی است. به عنوان مثال، backend به شما امکان می دهد کدی را تولید کنید که 70٪ عملکرد کامپایلرهای پیشرفته را نشان می دهد، اما عملکرد پیشنهادی در 10٪ کامپایلرهای بزرگ است. از ساختن معماری های x86_64 و aarch64 در پلتفرم های لینوکس و FreeBSD با کتابخانه های Glibc، bsd libc و Musl پشتیبانی می کند.

منبع: opennet.ru

اضافه کردن نظر