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
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