Book description
Learning how to write C/C++ code is only the first step. To be a serious programmer, you need to understand the structure and purpose of the binary files produced by the compiler: object files, static libraries, shared libraries, and, of course, executables.
Advanced C and C++ Compiling explains the build process in detail and shows how to integrate code from other developers in the form of deployed libraries as well as how to resolve issues and potential mismatches between your own and external code trees.
With the proliferation of open source, understanding these issues is increasingly the responsibility of the individual programmer. Advanced C and C++ Compiling brings all of the information needed to move from intermediate to expert programmer together in one place -- an engineering guide on the topic of C/C++ binaries to help you get the most accurate and pertinent information in the quickest possible time.
What you'll learn
The details of the build process, including compiling and linking
The inner workings of static libraries, shared libraries, and executables
Ways to properly architect code for smooth integration of future changes
Tips for troubleshooting problems with compiling and linking as well as run-time problems
How to use operating system-specific (Linux and Windows) tools for analysis of binary files
Who this book is for
C/C++ software designers aspiring to senior levels, software architects, build engineers, and Linux system administrators.
Table of contents
- Title Page
- Dedication
- Contents at a Glance
- Contents
- About the Author
- About the Technical Reviewers
- Acknowledgments
- Introduction
- CHAPTER 1: Multitasking OS Basics
- CHAPTER 2: Simple Program Lifetime Stages
- CHAPTER 3: Program Execution Stages
- CHAPTER 4: The Impact of Reusing Concept
- CHAPTER 5: Working with Static Libraries
- CHAPTER 6: Designing Dynamic Libraries: Basics
- CHAPTER 7: Locating the Libraries
- CHAPTER 8: Designing Dynamic Libraries: Advanced Topics
- CHAPTER 9: Handling Duplicate Symbols When Linking In Dynamic Libraries
- CHAPTER 10: Dynamic Libraries Versioning
- CHAPTER 11: Dynamic Libraries: Miscellaneous Topics
- CHAPTER 12: Linux Toolbox
-
CHAPTER 13: Linux How To’s
- Debugging the Linking
- Determining the Binary File Type
- Determining the Binary File Entry Point
- List Symbols
- List and Examine Sections
- List and Examine Segments
- Disassembling the Code
- Identifying the Debug Build
- Listing Load-time Dependencies
- Listing the Libraries Known to the Loader
- Listing Dynamically Linked Libraries
- Creating and Maintaining the Static Library
- CHAPTER 14: Windows Toolbox
- Index
Product information
- Title: Advanced C and C++ Compiling
- Author(s):
- Release date: April 2014
- Publisher(s): Apress
- ISBN: 9781430266679
You might also like
book
The C++ Programming Language, 4th Edition
The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to …
book
Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards
Learn the C++ programming language in a structured, straightforward, and friendly manner. This book teaches the …
book
Modern CMake for C++
Write comprehensive, professional-standard CMake projects and ensure the quality and simplicity of your solutions Purchase of …
video
Complete Modern C++ (C++11/14/17)
This course provides an extensive exploration of C++. The journey starts with mastering the syntax and …