Шта је ЛЛВМ и зашто је корисно?
Вишеструки мини пројекти раде под кишобраном ЛЛВМ. Мини пројекти се углавном баве технологијама компајлера. Изгледа да постоји одређена забуна у вези са именовањем ЛЛВМ. Људи погрешно претпостављају да је то повезано са виртуелним машинама. Нема везе. Израз ЛЛВМ не значи ништа. То је само име које је коришћено на почетку пројекта.
ЛЛВМ пројекат се одвија под лиценцом „УИУЦ“ БСД-Стиле. Пројекат је настао на Универзитету у Илиноису. Од тада је стекао популарност и користио се за велики број пројеката. Посебно је популаран у академским круговима. Главни циљ пројекта је пружити статичку и динамичку компилацију различитих програмских језика заснованих на ССА.
Ево мини пројекта ЛЛВМ:
- ЛЛВМ језгро: Основне библиотеке пружају подршку за оптимизацију и генерисање кода за процесоре. ЛЛВМ ИР (средња заступљеност) пружа основу библиотекама. Заједница је добро урадила документовање ЛЛВМ језгра. Тако можете лако користити ове библиотеке за креирање новог програмског језика или креирање порта постојећег компајлера. Ако желите да се упустите у ове територије, ЛЛВМ Цоре је добро место за почетак.
- Цланг: То је компајлер који је три пута бржи од ГЦЦ-а. Циља на Ц, Ц ++ и Објецтиве-Ц. Цланг-ове грешке и упозорења су лакше разумљиви. Такође има алат за статички анализатор. Сам алат за статички анализатор је направљен помоћу Цланг компајлера.
- ЛЛДБ: То је програм за отклањање грешака. Бржи је и ефикаснији од ГДБ-а. Програм за отклањање грешака направљен је помоћу Цланг-а и ЛЛВМ Цоре-а.
- либц ++ и либц ++ АБИ: Боља примена Ц ++ СТД.
- цомпилер-рт: Пружа подршку за нижи ниво кода. Такође има библиотеке времена извођења за динамичко тестирање.
- ОпенМП: Опен Мулти-Процессинг (ОпенМП) је АПИ који помаже у мултитхреадинг-у. Овај пројекат подржава изворно време извршавања ОпенМП-а које се користи са Цлангом.
- Полли: У ЛЛВМ свету то је петља на високом нивоу и оптимизатор локације података. Оптимизира обрасце приступа меморији програма.
- либцлц: Библиотека за ОпенЦЛ.
- клее: То је симболична виртуелна машина. Можете да користите клее да бисте прешли све динамичке путање у програму да бисте пронашли проблеме. Машина може да произведе аутоматизоване тест случајеве.
- СИГУРНОСНА КОДА: Компајлер је за Ц / Ц ++ који гарантује сигурност меморије. То је одличан алат за истраживање стручњака за сајбер безбедност. Може вам помоћи у откривању сигурносних грешака у меморији.
- ллд: Гради линкер за рад са Цлангом и ЛЛВМ-ом.
ЛЛВМ има репутацију по стварању чистијих бинарних датотека од ГЦЦ-а. Такође, ЛЛВМ има спољне пројекте помоћу којих се могу компајлирати Питхон, Хаскелл, ПХП, ЛУА, Руби и други језици. ЛЛВМ се сматра свестраним, флексибилним решењем за вишекратну употребу. Дакле, стиче популарност у развојној заједници. Користи се као ЈИТ компајлери за уграђене језике. ЛЛВМ се такође користи за суперрачунаре. Широка подршка заједнице програмера чини је робусним алатом.
Даље истраживање:
- хттп: // ввв.дрдоббс.цом / арцхитецтуре-анд-десигн / тхе-десигн-оф-ллвм / 240001128
- хттпс: // ллвм.орг / доцс / туториал /
- хттп: // цланг.ллвм.орг /
- хттп: // ллдб.ллвм.орг /
- хттп: // либцкк.ллвм.орг /
- хттп: // либцккаби.ллвм.орг /
- хттп: // цомпилер-рт.ллвм.орг /
- хттп: // опенмп.ллвм.орг /
- хттп: // полли.ллвм.орг /
- хттп: // либцлц.ллвм.орг /
- хттп: // клее.гитхуб.ио /
- хттп: // сафецоде.цс.иллиноис.еду /
- хттп: // ллд.ллвм.орг /