|
|
Books > Computing & IT > Computer programming > Compilers & interpreters
Write comprehensive, professional-standard CMake projects and
ensure the quality and simplicity of your solutions Purchase of the
print or Kindle book includes a free eBook in the PDF format Key
Features Understand and automate compilation and linking with CMake
Manage internal and external dependencies easily Add quality checks
and tests as an inherent step for your builds Book
DescriptionCreating top-notch software is an extremely difficult
undertaking. Developers researching the subject have difficulty
determining which advice is up to date and which approaches have
already been replaced by easier, better practices. At the same
time, most online resources offer limited explanation, while also
lacking the proper context and structure. This book offers a
simpler, more comprehensive, experience as it treats the subject of
building C++ solutions holistically. Modern CMake for C++ is an
end-to-end guide to the automatization of complex tasks, including
building, testing, and packaging. You'll not only learn how to use
the CMake language in CMake projects, but also discover what makes
them maintainable, elegant, and clean. The book also focuses on the
structure of source directories, building targets, and packages. As
you progress, you'll learn how to compile and link executables and
libraries, how those processes work, and how to optimize builds in
CMake for the best results. You'll understand how to use external
dependencies in your project - third-party libraries, testing
frameworks, program analysis tools, and documentation generators.
Finally, you'll get to grips with exporting, installing, and
packaging for internal and external purposes. By the end of this
book, you'll be able to use CMake confidently on a professional
level. What you will learn Understand best practices for building
C++ code Gain practical knowledge of the CMake language by focusing
on the most useful aspects Use cutting-edge tooling to guarantee
code quality with the help of tests and static and dynamic analysis
Discover how to manage, discover, download, and link dependencies
with CMake Build solutions that can be reused and maintained in the
long term Understand how to optimize build artifacts and the build
process itself Who this book is forThe book is for build engineers
and software developers with knowledge of C/C++ programming who are
looking to learn CMake to automate the process of building small
and large software solutions. If you are someone who's just getting
started with CMake, a long-time GNU Make user, or simply looking to
brush up on the latest best practices, this book is for you.
Learn how to build and use all parts of real-world compilers,
including the frontend, optimization pipeline, and a new backend by
leveraging the power of LLVM core libraries Key Features Get to
grips with effectively using LLVM libraries step-by-step Understand
LLVM compiler high-level design and apply the same principles to
your own compiler Use compiler-based tools to improve the quality
of code in C++ projects Book DescriptionLLVM was built to bridge
the gap between compiler textbooks and actual compiler development.
It provides a modular codebase and advanced tools which help
developers to build compilers easily. This book provides a
practical introduction to LLVM, gradually helping you navigate
through complex scenarios with ease when it comes to building and
working with compilers. You'll start by configuring, building, and
installing LLVM libraries, tools, and external projects. Next, the
book will introduce you to LLVM design and how it works in practice
during each LLVM compiler stage: frontend, optimizer, and backend.
Using a subset of a real programming language as an example, you
will then learn how to develop a frontend and generate LLVM IR,
hand it over to the optimization pipeline, and generate machine
code from it. Later chapters will show you how to extend LLVM with
a new pass and how instruction selection in LLVM works. You'll also
focus on Just-in-Time compilation issues and the current state of
JIT-compilation support that LLVM provides, before finally going on
to understand how to develop a new backend for LLVM. By the end of
this LLVM book, you will have gained real-world experience in
working with the LLVM compiler development framework with the help
of hands-on examples and source code snippets. What you will learn
Configure, compile, and install the LLVM framework Understand how
the LLVM source is organized Discover what you need to do to use
LLVM in your own projects Explore how a compiler is structured, and
implement a tiny compiler Generate LLVM IR for common source
language constructs Set up an optimization pipeline and tailor it
for your own needs Extend LLVM with transformation passes and clang
tooling Add new machine instructions and a complete backend Who
this book is forThis book is for compiler developers, enthusiasts,
and engineers who are new to LLVM and are interested in learning
about the LLVM framework. It is also useful for C++ software
engineers looking to use compiler-based tools for code analysis and
improvement, as well as casual users of LLVM libraries who want to
gain more knowledge of LLVM essentials. Intermediate-level
experience with C++ programming is mandatory to understand the
concepts covered in this book more effectively.
|
You may like...
Impossible
Sarah Lotz
Paperback
R365
Discovery Miles 3 650
|