Hodnotenie:
Kniha poskytuje komplexný úvod do LLVM pre vývojárov kompilátorov, najmä pre tých, ktorí majú určité skúsenosti s C++. Hoci pokrýva širokú škálu tém z oblasti vývoja kompilátorov, nezaoberá sa hlboko ani jednou oblasťou. Kniha je dobre organizovaná a obsahuje praktické projekty a doplnkové video zdroje. Pre úplných začiatočníkov v programovaní však môže byť náročná a obsahuje aj triviálny obsah, ktorý nemusí byť užitočný pre všetkých čitateľov.
Výhody:⬤ Dobre organizovaná štruktúra a logický priebeh.
⬤ Pokrýva široké spektrum tém LLVM (od front-endu po back-end).
⬤ Vhodný pre čitateľov so znalosťou jazyka C++ a určitými skúsenosťami s vývojom kompilátorov.
⬤ Poskytuje praktické projekty a videá „Kód v akcii“ na praktické učenie.
⬤ Diskutuje o nových funkciách LLVM, čím sa stáva aktuálnou a aktuálnou.
⬤ Nie je vhodná pre úplných začiatočníkov bez skúseností s programovaním.
⬤ Niektorý triviálny obsah môže pre skúsených čitateľov znamenať stratu času.
⬤ Chýba hĺbkové pokrytie špecifických tém LLVM, ktoré by mohli byť potrebné pre pokročilých používateľov alebo tých, ktorí chcú prispieť do LLVM.
(na základe 6 čitateľských recenzií)
Learn LLVM 12: A beginner's guide to learning LLVM compiler tools and core libraries with C++
Naučte sa vytvárať a používať všetky časti skutočných kompilátorov vrátane frontendu, optimalizačného potrubia a nového backendu s využitím výkonu základných knižníc LLVM
Kľúčové vlastnosti:
⬤ Zoznámte sa s efektívnym používaním knižníc LLVM krok za krokom.
⬤ Pochopte vysokoúrovňový návrh kompilátora LLVM a aplikujte rovnaké princípy na svoj vlastný kompilátor.
⬤ Využívajte nástroje založené na kompilátore na zlepšenie kvality kódu v projektoch C++.
Popis knihy:
LLVM bol vytvorený s cieľom preklenúť medzeru medzi učebnicami kompilátorov a skutočným vývojom kompilátorov. Poskytuje modulárnu kódovú základňu a pokročilé nástroje, ktoré pomáhajú vývojárom jednoducho zostavovať kompilátory. Táto kniha poskytuje praktický úvod do LLVM a postupne vám pomôže ľahko sa orientovať v zložitých scenároch pri zostavovaní kompilátorov a práci s nimi.
Začnete konfiguráciou, zostavením a inštaláciou knižníc, nástrojov a externých projektov LLVM. Ďalej vás kniha oboznámi s návrhom LLVM a s tým, ako funguje v praxi počas jednotlivých fáz kompilátora LLVM: frontend, optimalizátor a backend. Na príklade podmnožiny reálneho programovacieho jazyka sa potom naučíte, ako vytvoriť frontend a vygenerovať IR LLVM, odovzdať ho optimalizačnému potrubiu a vygenerovať z neho strojový kód. V ďalších kapitolách sa dozviete, ako rozšíriť LLVM o nový priechod a ako funguje výber inštrukcií v LLVM. Zameriate sa aj na problematiku kompilácie Just-in-Time a súčasný stav podpory kompilácie JIT, ktorú poskytuje LLVM, a nakoniec prejdete k pochopeniu toho, ako vytvoriť nový backend pre LLVM.
Na konci tejto knihy o LLVM získate reálne skúsenosti s prácou s vývojovým rámcom kompilátora LLVM pomocou praktických príkladov a úryvkov zdrojového kódu.
Čo sa naučíte:
⬤ Konfigurovať, kompilovať a inštalovať rámec LLVM.
⬤ Pochopiť, ako je organizovaný zdrojový kód LLVM.
⬤ Zistiť, čo musíte urobiť, aby ste mohli LLVM používať vo vlastných projektoch.
⬤ Preskúmať, ako je kompilátor štruktúrovaný, a implementovať malý kompilátor.
⬤ Generovanie LLVM IR pre bežné konštrukcie zdrojového jazyka.
⬤ Nastavte si optimalizačnú linku a prispôsobte ju vlastným potrebám.
⬤ Rozšírenie LLVM o transformačné priechody a nástroje clang.
⬤ Pridanie nových strojových inštrukcií a kompletného backendu.
Pre koho je táto kniha určená:
Táto kniha je určená pre vývojárov kompilátorov, nadšencov a inžinierov, ktorí sú v LLVM nováčikmi a majú záujem dozvedieť sa viac o rámci LLVM. Je užitočná aj pre softvérových inžinierov C++, ktorí chcú používať nástroje založené na kompilátore na analýzu a vylepšovanie kódu, ako aj pre príležitostných používateľov knižníc LLVM, ktorí chcú získať viac vedomostí o základoch LLVM. Skúsenosti s programovaním v jazyku C++ na stredne pokročilej úrovni sú povinné na lepšie pochopenie konceptov, ktoré sú v tejto knihe zahrnuté.
© Book1 Group - všetky práva vyhradené.
Obsah tejto stránky nesmie byť kopírovaný ani použitý čiastočne alebo v celku bez písomného súhlasu vlastníka.
Posledná úprava: 2024.11.13 22:11 (GMT)