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.
Most Helpful Customer Reviews
This is not a computer science textbook. The material presented here is something that will be useful to real-life coders: people who build and use libraries with low level programming languages such as C and C++. If you ever got frustrated by the "undefined reference to" linker error on Linux, or its ugly cousin from Microsoft world "unresolved external symbol", this book will help you understand the magic behind construction and loading of binaries on the two popular platforms. Don't be afraid of reading some assembly language - you'll find the snippets all over the book, but they are very well explained and commented.
Most of the space in the book is spent on explaining the complex but very practical concepts related to the re-use of binaries. The last few chapters are down-to earth tutorials and tool descriptions that can be used as a reference long after you will have read the book.
I am not a developer (worked as the Unix admin for last 15+ years) and I still find this book very useful. It helped me renew some old and learn some new things about the libraries.
I especially liked the chapter about the duplicate symbol handling, helped me troubleshoot some complex problems.
I'll keep it as a good reference book.
Each program is destined to exist as a block of binary sequences. Source code is the blueprint intent but the block of binary is the result. Quality control over the results can only go so far from the point of view of the blueprint. Sometimes you have to take a look at the end result. This book teaches the background, ways, and whys of using various tools to confirm a few aspects of binary files to address version conflicts and loading of the correct Windows DLLs or Linux Shared Objects used by a program. The book is deep and long but it is all relevant and gives you the tools necessary to understand what happened when the compiler and linker took over and created the program. You also learn how to influence that process with greater certainty.
The authorised South African distributor of this product is under no obligation to honour the manufacture's guarantees/warranties or to provide after-sales service.
Please note that this item is imported from the USA, and is designed to be used in the USA. In addition, if the unit is powered it will come with a US plug and an adapter/transformer may be required. Please click here for more information on power requirements, or check with us if you are unsure or need any assistance!
Please also note that certain items cannot be imported, these include Alcohol, Animals, Flammable Materials, Currency, Food, Furs, Chemicals, Explosives, Medications, Plants, Seeds, Supplements, Pressurized Cans, Tactical Equipment, Vitamins, Weaponry and Weaponry Accessories. In these cases, the item and information is displayed for reference purposes only. If you are not sure if we are permitted to bring an item, please send us an e-mail with a link to the item to confirm.
Please also ensure that you are ordering the correct item for your particular application as returns to the USA are costly. Product reviews are also provided for most of our items, which can give you a good idea for possible things to look out for and the quality of the item. By clicking Add to Cart, you are confirming that the item is correct and you accept the conditions listed here.