cproc - Си тили үчүн жаңы компакт компилятор

Майкл Форни, Wayland протоколуна негизделген swc композиттик серверин иштеп чыгуучу, C11 стандартын жана кээ бир GNU кеңейтүүлөрүн колдогон жаңы cproc компиляторун иштеп чыгууда. Оптималдаштырылган аткарылуучу файлдарды түзүү үчүн компилятор QBE долбоорун backend катары колдонот. Компилятордун коду C тилинде жазылган жана акысыз ISC лицензиясы боюнча таратылат.

Иштеп чыгуу аягына чыга элек, бирок азыркы этапта C11 спецификациясынын көбүнө колдоо көрсөтүлдү. Учурда колдоого алынбаган функциялардын арасында өзгөрүлмө узундуктагы массивдер, препроцессор, PIE (позициядан көз карандысыз код) аткарылуучу файлдардын жана жалпы китепканалардын мууну, саптык ассемблер, "узун кош" түрү, _Thread_local спецификациясы, туруксуз типтер, префикси бар сап литералдары бар. (L"...").

Ошол эле учурда, cprocтин мүмкүнчүлүктөрү өзүн, mcpp, gcc 4.7, binutils жана башка негизги тиркемелерди куруу үчүн жетиштүү. Башка компиляторлордон негизги айырмасы - бул компакттуу жана татаал эмес ишке ашырууну түзүүгө багытталган. Мисалы, бэкенд өнүккөн компиляторлордун иштешинин 70% көрсөткөн кодду түзүүгө мүмкүндүк берет, бирок сунушталган функция чоң компиляторлордун 10% чегинде. Glibc, bsd libc жана Musl китепканалары менен Linux жана FreeBSD платформаларында x86_64 жана aarch64 архитектураларын курууну колдойт.

Source: opennet.ru

Комментарий кошуу