cproc - новы кампактны кампілятар для мовы Сі

Майкл Форні (Michael Forney), распрацоўшчык кампазітнага сервера swc на базе пратакола Wayland, развівае новы кампілятар cproc, які падтрымлівае стандарт C11 і некаторыя пашырэнні GNU. Для генерацыі аптымізаваных выкананых файлаў у кампілятары ў якасці бэкенда прымяняецца праект QBE. Код кампілятара напісаны на мове Сі і распаўсюджваецца пад вольнай ліцэнзіяй ISC.

Распрацоўка яшчэ не завершана, але на бягучай стадыі рэалізавана падтрымка большай часткі спецыфікацыі C11. Сярод пакуль непадтрымоўваных магчымасцяў - масівы зменнай даўжыні, препроцессор, генерацыя выкананых файлаў PIE (position independent code) і падзяляных бібліятэк, inline-асэмблер, тып "long double", спецыфікатар _Thread_local, volatile-тыпы, радковыя літаралы з прэфіксам (L"..." ).

Пры гэтым магчымасцяў cproc ужо дастаткова для зборкі самога сябе, mcpp, gcc 4.7, binutils і іншых базавых прыкладанняў. Ключавым адрозненнем ад іншых кампілятараў з'яўляецца арыентацыя на стварэнне кампактнай і ня ўскладненай рэалізацыі. Напрыклад, бэкенд дазваляе генераваць код, які дэманструе 70% прадукцыйнасці ад прасунутых кампілятараў, але пры гэтым прапанаваная функцыянальнасць укладваецца ў 10% ад вялікіх кампілятараў. Падтрымліваецца зборка для архітэктур x86_64 і aarch64 на платформах Linux і FreeBSD з бібліятэкамі Glibc, bsd libc і Musl.

Крыніца: opennet.ru

Дадаць каментар