- Full 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 youll 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
Table of Contents
- Multitasking OS Basics
- Simple Program Lifetime Stages
- Program Execution Stages
- The Impact of Reusing Concept
- Working with Static Libraries
- Designing Dynamic Libraries: Basics
- Locating the Libraries
- Designing Dynamic Libraries: Advanced Topics
- Handling Duplicate Symbols When Linking In Dynamic Libraries
- Dynamic Libraries Versioning
- Dynamic Libraries Misc Topics
- The Linux Toolbox
- Linux How To's
- Windows Toolbox
If you think that you've found an error in this book, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.No errata are currently published