نام کتاب
LLVM Techniques, Tips, and Best Practices Clang and Middle-End Libraries

Design powerful and reliable compilers using the latest libraries and tools from LLVM

Min-Yih Hsu

Paperback372 Pages
PublisherPackt
Edition1
LanguageEnglish
Year2021
ISBN9781838824952
1K
A3443
انتخاب نوع چاپ:
جلد سخت
630,000ت
0
جلد نرم
570,000ت
0
طلق پاپکو و فنر
580,000ت
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#LLVM

#LIT

#Clang

#AST

#TableGen

#PassManager

#AnalysisManager

توضیحات

یاد بگیرید چگونه می‌توانید زبان برنامه‌نویسی بزرگ بعدی، کامپایلر یا ابزار تحلیل سورس‌کد را با استفاده از LLVM و Clang بسازید.


🔑 ویژگی‌های کلیدی

• بررسی Clang، بخش میانی (Middle-End) و بک‌اند LLVM به‌صورت کاربردی

• توسعه مهارت‌های شما در LLVM و آشنایی با موارد استفاده متنوع

• تجربه توسعه LLVM در دنیای واقعی با مثال‌های کدنویسی


📖 توضیح کتاب

هر برنامه‌نویس یا مهندس نرم‌افزار، در بخشی از مسیر کاری خود با کامپایلرها سر و کار دارد تا برنامه‌هایش را بهینه کند.


کامپایلرها زبان سطح بالا را به کد سطح پایین قابل اجرا روی ماشین تبدیل می‌کنند. LLVM زیرساخت، کتابخانه‌ها و ابزارهای قابل استفاده مجدد را در اختیار توسعه‌دهندگان قرار می‌دهد تا کامپایلر اختصاصی خودشان را بسازند.

با مجموعه گسترده ابزارهای LLVM، می‌توانید کد را برای بک‌اندهای مختلف تولید کرده و آن را بهینه کنید.


در این کتاب، شما زیرساخت LLVM را بررسی می‌کنید و یاد می‌گیرید چطور از آن برای حل مسائل مختلف استفاده کنید. از ساختار و فلسفه طراحی اجزای مهم LLVM شروع کرده و به تدریج به استفاده از کتابخانه‌های Clang برای ساخت ابزارهای تحلیل سورس‌کد خواهید رسید. سپس یاد می‌گیرید چطور با LLVM IR کار کنید؛ یک روش قدرتمند برای تغییر و بهینه‌سازی سورس‌کد در سطوح مختلف.


در پایان این کتاب، توانایی ایجاد ابزارهای قدرتمند مبتنی بر LLVM و Clang را خواهید داشت؛ از کامپایلر و مفسر گرفته تا IDE و آنالیزور سورس‌کد.


🛠️ آنچه خواهید آموخت

• آشنایی با سیستم بیلد LLVM و کاهش منابع مورد نیاز در فرآیند بیلد

• اجرای تست‌های سفارشی با چارچوب LIT در LLVM

• ساخت انواع پلاگین‌ها و افزونه‌ها برای Clang

• سفارشی‌سازی Toolchain و فلگ‌های کامپایلر Clang

• نوشتن Pass برای PassManager جدید در LLVM

• نحوه بازرسی و ویرایش LLVM IR

• استفاده از چارچوب بهینه‌سازی مبتنی بر پروفایل (PGO) در LLVM

• ساخت Sanitizerهای سفارشی برای شناسایی خطاهای زمان اجرا


👨‍💻 مخاطبان کتاب

این کتاب برای همه‌ی مهندسان نرم‌افزار (در هر سطح تجربه) که با LLVM کار می‌کنند مناسب است.


📌 همچنین برای پژوهشگران دانشگاهی که می‌خواهند سریعاً مهارت‌های عملی LLVM را یاد بگیرند و در پروژه‌ها و پروتوتایپ‌های خود به کار ببرند بسیار مفید است.

علاقه‌مندان به زبان‌های برنامه‌نویسی هم می‌توانند با کمک این کتاب، زبان برنامه‌نویسی جدید خود را بسازند.


📑 فهرست مطالب

  1. صرفه‌جویی در منابع هنگام بیلد LLVM از سورس
  2. بررسی ویژگی‌های سیستم بیلد LLVM
  3. استفاده‌های پیشرفته از LIT در LLVM
  4. توسعه TableGen: سرگرمی و بهره‌برداری
  5. معماری Clang
  6. گسترش Preprocessorها
  7. کار با AST
  8. کار با فلگ‌ها و Toolchainهای کامپایلر
  9. هر آنچه لازم است درباره PassManager و AnalysisManager جدید بدانید
  10. پردازش صحیح IR
  11. ابزارهای کمکی در LLVM
  12. توسعه PGO و Sanitizerها


👨‍🔬 درباره نویسنده

مین-یی “مین” شو (Min-Yih "Min" Hsu)

دانشجوی دکتری علوم کامپیوتر در دانشگاه کالیفرنیا، ارواین است. پژوهش او بر مهندسی کامپایلر، بهینه‌سازی کد، معماری‌های سخت‌افزاری پیشرفته و امنیت سیستم متمرکز است.

او از سال ۲۰۱۵ عضو فعال جامعه LLVM بوده و پچ‌های متعددی به پروژه اصلی افزوده است. مین همچنین زمان زیادی را صرف ترویج LLVM و مهندسی کامپایلر از طریق وبلاگ‌نویسی و سخنرانی در کنفرانس‌ها می‌کند.

در اوقات فراغت، به آزمایش انواع دانه‌های قهوه و روش‌های دم‌آوری آن علاقه‌مند است.


Learn how you can build the next big programming language, compiler, or source code analyzer using LLVM and Clang


Key Features

  • Explore Clang, LLVM's middle-end and backend, in a pragmatic way
  • Develop your LLVM skillset and get to grips with a variety of common use cases
  • Engage with real-world LLVM development through various coding examples


Book Description

Every programmer or engineer, at some point in their career, works with compilers to optimize their applications. Compilers convert a high-level programming language into low-level machine-executable code. LLVM provides the infrastructure, reusable libraries, and tools needed for developers to build their own compilers. With LLVM's extensive set of tooling, you can effectively generate code for different backends as well as optimize them.


In this book, you'll explore the LLVM compiler infrastructure and understand how to use it to solve different problems. You'll start by looking at the structure and design philosophy of important components of LLVM and gradually move on to using Clang libraries to build tools that help you analyze high-level source code. As you advance, the book will show you how to process LLVM IR – a powerful way to transform and optimize the source program for various purposes. Equipped with this knowledge, you'll be able to leverage LLVM and Clang to create a wide range of useful programming language tools, including compilers, interpreters, IDEs, and source code analyzers.


By the end of this LLVM book, you'll have developed the skills to create powerful tools using the LLVM framework to overcome different real-world challenges.


What you will learn

  • Find out how LLVM's build system works and how to reduce the building resource
  • Get to grips with running custom testing with LLVM's LIT framework
  • Build different types of plugins and extensions for Clang
  • Customize Clang's toolchain and compiler flags
  • Write LLVM passes for the new PassManager
  • Discover how to inspect and modify LLVM IR
  • Understand how to use LLVM's profile-guided optimizations (PGO) framework
  • Create custom compiler sanitizers


Who this book is for

This book is for software engineers of all experience levels who work with LLVM. If you are an academic researcher, this book will help you learn useful LLVM skills in a short time and enable you to build your prototypes and projects quickly. Programming language enthusiasts will also find this book useful for building a new programming language with the help of LLVM.


Table of Contents

  1. Saving resources when building LLVM from source
  2. Exploring LLVM's Build System Features
  3. Advanced usages of LLVM LIT
  4. TableGen Development: For Fun and For Profit
  5. Exploring Clang's Architecture
  6. Extending the preprocessors
  7. Handling AST
  8. Working with Compiler Flags and Toolchains
  9. All you need to know about the new PassManager and AnalysisManager
  10. Processing IR in a proper way
  11. Gearing up with support utilities
  12. PGO and Sanitizers developments


About the Author

Min-Yih "Min" Hsu is a Ph.D. candidate in computer science at the University of California, Irvine. His research focuses on compiler engineering, code optimization, advanced hardware architectures, and system security. He has been an active member of the LLVM community since 2015 and has contributed numerous patches upstream. Min also dedicates his time to advocating LLVM and compiler engineering through various avenues, such as writing blog posts and giving talks at conferences. In his spare time, Min likes to explore a variety of different coffee beans and ways of brewing.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
C
1,022
Introducing Algorithms in C
331,000 تومان
C
156
Professional CUDA C Programming
901,000 تومان
C
1,107
Low-Level Programming
673,000 تومان
C
1,019
Practical C Programming
987,000 تومان
C
1,026
C Primer Plus
1,654,000 تومان
C
1,110
C Programming
1,440,000 تومان
C
659
Introduction to Computing Systems
1,206,000 تومان
C
1,025
C in a Nutshell
1,226,000 تومان
C
743
Pointers on C
990,000 تومان
الگوریتم‌‌ها
1,031
Modern Data Mining Algorithms in C++ and CUDA C
417,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©