Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
C компиляторы
C compiler
LCC
LCC түсінуі өте оңай және жақсы құжатталған; оның дизайны Фрейзер мен Хансонның «A Retargetable C Compiler: Design and Implementation» кітабында сипатталған. Кітапта компилятордың 3.6 нұсқасының көп бөлігі, бастапқы коды келтірілген, ол noweb пайдаланып, түсінікті бағдарлама ретінде жазылған. 2011 жылдың шілдесіне қарай LCC-нің ағымдағы нұсқасы 4.2 болды, бірақ кітаптың көп бөлігі әлі де осы нұсқаға қатысты. Кітап жарық көргеннен берігі басты өзгеріс – кодты генерациялау интерфейсінде болды, ол жеке құжатта сипатталған. LCC-нің бастапқы коды шамамен 20 000 жолдан тұрады, бұл көптеген ірі компиляторлардан әлдеқайда аз. LCC бірнеше процессор архитектуралары үшін код жасай алады, оның ішінде Alpha, SPARC, MIPS және x86; сондай-ақ Microsoft-тың ортақ аралық тілін (Common Intermediate Language) жасайтын LCC бэкенді де бар.
LCC is intended to be very simple to understand and is well documented; its design is described in Fraser and Hanson's book A Retargetable C Compiler: Design and Implementation. The book includes most of the source code for version 3.6 of the compiler, which was written as a literate program using noweb. As of July 2011 the current version of LCC is 4.2, but much of the book still applies to this version. The major change since the book was published is in the code generator interface, which is described in a separate document. The source code for LCC is around 20,000 lines, which is much smaller than many major compilers. LCC can generate code for several processor architectures, including Alpha, SPARC, MIPS, and x86; there is also an LCC backend that generates Microsoft's Common Intermediate Language.
Жер сілкінісі 3
id Software-дің id Tech 3 қозғалтқышы әрбір ойын модулінің немесе үшінші тараптың модын виртуалды машинасына бағытталған байт-кодқа түрлендіру үшін LCC-нің өңделген нұсқасын пайдаланады. Бұл модульдер жүйелік шақырулардан және қозғалтқыш ұсынатын шектеулі файлдық жүйеден тысқары жүйе туралы хабардар емес, бұл қастандық ниеті бар мод авторларының тудыратын қауіпті азайту мақсатында жасалған. Сонымен қатар, қозғалтқыш үшін жазылған ойындар мен модтарды қайта компиляциялаусыз тасымалдауға болады; модульдерді іске қосу үшін виртуалды машинаны ғана жаңа платформаларға көшіру жеткілікті.
id Software's id Tech 3 engine relies on a modified version of LCC to compile the source code of each game module or third party mod into bytecode targeting its virtual machine. This means that modules are oblivious to the system beyond the system calls and limited file system scope offered by the engine, which is intended to reduce the threat posed by malicious mod authors. Another consideration is that games and mods written for the engine are portable without recompilation; only the virtual machine needs to be ported to new platforms in order to execute the modules.
LCC-WIN
lcc win32 – Microsoft Windows жүйесі үшін интеграцияланған даму ортасы, оның құрамында LCC-нің түйінді нұсқасы бар. 2012 жылдың 15 сәуірінен бері қолжетімді amd64 нұсқасы lcc win64 деп аталады.
lcc win32 is an integrated development environment package for Microsoft Windows which includes a fork of LCC. An amd64 counterpart named lcc win64 exists, which has been available since April 15, 2012.
Пеллес С
Pelles C компиляторы – LCC-нің көп өзгертілген нұсқасы, C11 және C17 стандартын, amd64 архитектурасын қолдайды, сондай-ақ желілік кеңейту сияқты қосымша оңтайландыру техникаларын және IDE-ні ұсынады.
Pelles C's compiler is a heavily modified version of LCC providing C11 as well as C17 support, amd64 support, additional optimisation techniques such as inline expansion and an IDE.
MathWorks-тің қызметі
32 битті Windows жүйелерінде MathWorks MATLAB және оған байланысты өнімдер үшін егер басқа компилятор орнатылмаса, Lcc әдепкі бойынша қолданылады.
For 32 bit Windows machines, Lcc is used as a default if no other compiler is installed for MathWorks MATLAB and related products.
Лицензия
LCC жеке қолдану үшін тегін және барлық тарату орталары мен өнім құжаттамасында көрсетілген жағдайда қайта таратылуы мүмкін. LCC лицензиясы көп жағдайда мысалдарға негізделген. LCC пайда табу мақсатымен сатылмайды, бірақ LCC өзі тегін таратылса, пайда табу мақсатымен сатылатын басқа бағдарламалық қамтамасымен бірге таратылуы мүмкін. Әрбір пайдаланушыға және шексіз пайдалануға арналған лицензияларды Аддисон Уэсли арқылы алуға болады, әсіресе C++ сияқты тілдердің компиляторлары үшін, себебі C компиляторы олардың жұмысының басым бөлігін құрауы мүмкін.
LCC is free for personal use and may be redistributed provided all distribution media and product documentation acknowledges it. The LCC license relies on examples in multiple cases. LCC may not be sold for profit, but it may be included with other software that is sold for profit, provided LCC itself is distributed for free. Per user and unlimited use licenses are available by contacting Addison Wesley, in particular for compilers of languages such as C++ for which a C compiler may constitute much of its work.