Prose Supplements - Shop now
Add Prime to get Fast, Free delivery
Amazon prime logo
$60.70 with 39 percent savings
List Price: $99.99
FREE Returns
FREE delivery Thursday, April 10
Or fastest delivery Wednesday, April 9. Order within 1 hr 19 mins
In Stock
$$60.70 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$60.70
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Advanced C and C++ Compiling 1st ed. Edition

4.2 out of 5 stars 43 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$60.70","priceAmount":60.70,"currencySymbol":"$","integerValue":"60","decimalSeparator":".","fractionalValue":"70","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"FDFAyOiNfZRaGMpEoiKIpW%2BSvogX5TmwZpWSQDUHmYkxDLpZk2dAx2nRbMjjKkHOBDhZV4FHdxyziWqRVV%2BKOYtR%2F9UMfULnzoIeuvufHSsaMJtEvzK83%2BnN1KCYOu%2BSwR6QAMhYiGm6kJcR7ELAKw%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

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
  1. Multitasking OS Basics  
  2. Simple Program Lifetime Stages
  3. Program Execution Stages
  4. The Impact of Reusing Concept
  5. Working with Static Libraries 
  6. Designing Dynamic Libraries: Basics
  7. Locating the Libraries
  8. Designing Dynamic Libraries: Advanced Topics
  9. Handling Duplicate Symbols When Linking In Dynamic Libraries
  10. Dynamic Libraries Versioning 
  11. Dynamic Libraries Miscellaneous Topics
  12. The Linux Toolbox
  13. Linux HowTo's
  14. Windows Toolbox

Frequently bought together

This item: Advanced C and C++ Compiling
$60.70
Get it as soon as Thursday, Apr 10
In Stock
Ships from and sold by Amazon.com.
+
$51.15
Get it as soon as Thursday, Apr 10
In Stock
Sold by itemspopularsonlineaindemand and ships from Amazon Fulfillment.
+
$40.37
Get it Apr 14 - 21
In stock
Usually ships within 2 to 3 days.
Ships from and sold by allnewbooks.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
Some of these items ship sooner than the others.
Choose items to buy together.

Editorial Reviews

Review

Reviewer: Dr. Alexander Tzanov
INFORMS Journal of Computing
ISSN: 1526-5528

...The result is excellent, careful representation of the building process of dynamic libraries, which is always a cumbersome topic for many scientific programmers.
...
Overall, the book is an excellent reference book that could be very helpful for scientific programmers with no computer science background to create quality code.

From the Author

[Comment on book's second anniversary]:
The engineers and/or scientists working on the frontiers of the new technologies have been the book's intended target audience from the beginning. The major idea was to provide the 'missing manual' for the world of compiling and linking to the folks whose minds (like mine) are focused on variety of their engineering/scientific disciplines, but whose tools of the trade inevitably walk them down the avenues of C/C++.

Based on the sales statistics (graph attached on my Amazon author's page) in which the geographic areas of the Silicon Valley and the NYC comprise the significant percentage of all US sales, it looks that that my expectations were met.
I hereby thank all the folks who have contacted me on advancedcandcppcompiling@gmail.com with the comments and ideas of how the book may be better. Needless to say, appreciate the many positive comments which came from the individuals of all kinds of engineering profiles.The book is widely perceived as the bridge between the everyday practice of the engineering world and a bit secretive domain of C/C++ compiling/linking. Being genuinely the person of the engineering world and the traveller through the world of compiling/linking, that's the most I've always hoped this book will accomplish.

Interestingly enough, a particular engineering team which I met through my consulting engagements which was the most vocal in the good recommendations features patent portfolio in the domain of digital media which outnumbers my years of age (which is not very small number). 

Last but not least - the book has been translated to Chinese.


[End of comment]

The most frequently encountered remark about the book is that the title is a bit misleading, and I agree with that notion. The original book title "Engineering guide to C/C++ compiling, linking, and binary files structure" which IMHO would be more appropriate was not accepted by the publisher as the main title.

...and, yes...the book contains a number of minor errors, errata sheet will come once the busy schedule of computer professional allows it to happen (hopefully some time soon).

Please feel free to pass on the comments and suggestions to advancedcandcppcompiling@gmail.com

Product details

  • Publisher ‏ : ‎ Apress; 1st ed. edition (April 28, 2014)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 358 pages
  • ISBN-10 ‏ : ‎ 1430266678
  • ISBN-13 ‏ : ‎ 978-1430266679
  • Item Weight ‏ : ‎ 1.32 pounds
  • Dimensions ‏ : ‎ 7.52 x 0.77 x 9.25 inches
  • Customer Reviews:
    4.2 out of 5 stars 43 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Milan Stevanovic
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Milan Stevanovic ́ is a senior multimedia software consultant based in the San Francisco Bay Area.

The span of his engineering experience covers a multitude of disciplines, ranging from the board level analog and digital hardware design, and assembly programming, all the way to C/C++ design and software architecture. His professional focus has been in the domain of the analysis of a variety of compressed multimedia formats, and design related to a variety of multimedia frameworks (GStreamer, DirectX, OpenMAX, ffmpeg) in Linux (desktop, embedded, Android native) as well as in Windows.

He has designed multimedia software for numerous companies (C-Cube, Philips, Harman, Thomson, Gracenote, Palm, Logitech, Panasonic, Netflix, WhatsApp), creating a variety of cutting edge technology products (ZiVA-1 and ZiVA-3 DVD decoder chip, Philips TriMedia media processor, Palm Treo and Palm Pre mobile phones, Netflix application for Android).

He is an original member of the developer duo (together with David Ronca) that created the avxsynth open source project (the first successful port of avisynth to Linux).

He holds a MSEE degree from Purdue University (1994) and an undergraduate degree in EE (1987) and Music - flute performance (1990) from the University of Belgrade.

Customer reviews

4.2 out of 5 stars
43 global ratings

Review this product

Share your thoughts with other customers

Top reviews from the United States

  • Reviewed in the United States on September 23, 2015
    Being a member of my company's engineering team with the longest tenure, I've been recently given a hint by my company's management to
    get prepared to take on the role of software architect/integrator. Never being comfortable dealing with compiler/linker issues I've started searching for anything that could help me to boost my knowledge.

    My more experienced friends provided a few good initial tips. First, they mentioned "Linkers and Loaders". The Drepper article was their
    second suggestion. Finally, they mentioned a fairly recent book written by a guy named after an Italian city ("Milan something").

    Despite its obvious greatness, the "Linkers and Loaders" book wasn't tailored for my EE/telecom/software background. I simply lacked the
    insight into many initial concepts. I've also read the Drepper article and kind of understood fair amount of it. The things that still bothered me were the looming lack of my hands-on experience and the lack of a good starting point.

    Finally, I've got this book. Bingo!

    It gave me exactly what I needed - the whole course starting with precise explanation of initial concepts, garnished with simple
    code examples. The screen printouts helped me get an idea of what to expect as a result. Above all, the exquisite and sometimes funny
    illustrations were powerful in explaining the concepts.

    The book has several qualities rarely found elsewhere:

    First, to the best of my knowledge, it is the only book that provides a 'black box' overview of the C/C++ building process. It does not go too
    far into the depths of compiling/linking/loading, but all the explanations provide a good overview of the field.

    Second, it is obviously written by a professional for the professionals.The author obviously knows how the engineering hands-on developers think.
    He points out the most potent and the most operational details which once absorbed can keep you afloat at all times.

    Third, it provides a huge amounts of relevant, hard-to-find information. Some of the chapters (e.g. duplicate symbols handling) are not found
    elsewhere.

    Finally, if for no other reason, the quick reference information in the last few chapters alone is worth having this book on the shelf.

    A must have for any serious professional in the field!
    12 people found this helpful
    Report
  • Reviewed in the United States on March 6, 2024
    This book was all over the map. It wasn't in depth in ways I wanted it, and provided a lot of information I didn't think belong. For example, it spends a lot of time discussing specific tools for multiple platforms (Unixes and Windows). This made this book feel more like a reference manual thank something you might want to read through. I could see some people benefiting from this approach. But I didn't like it.
  • Reviewed in the United States on March 17, 2023
    A gold mine of technical information on compilers/linkers/loaders and how C/C++ affect them. Easily one of the best technical books in terms of content that I've read in probably 5 years.

    Despite the great content and walkthroughs, it suffers from two main issues:

    1. It's primarily Linux-specific, though a lot of the concepts apply to Windows.
    2. There are a plethora of typographical errors. There are lots of missing spaces between words in tables, missing or extra articles (like "the"). Diagrams are readable but are sometimes fuzzy, probably due to being enlarged. However, I've only found one error effecting the technical content (".bas" instead of ".bss").

    This book is still incredible and I would make it required reading for teams producing or consuming shared or static libraries. Already gotten my money's worth out of this book multiple times over.

    A second edition of this book with the above issues addressed would likely become a long-lived classic.
  • Reviewed in the United States on May 31, 2014
    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.
    19 people found this helpful
    Report
  • Reviewed in the United States on May 14, 2015
    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.
    5 people found this helpful
    Report
  • Reviewed in the United States on August 17, 2017
    This book is concrete and to the point on subject of putting together, understanding and analysing "stuff" that you get after you compile your source code.
    This is a book which will teach you methods of building building_blocks together. Analysing and understanding things produced after code gets compiled.
    This is a book that would and will recommend after one learns how to write code.
  • Reviewed in the United States on June 16, 2020
    reading internet on about compiling and linking is not enough, this book contains more detailed stuffs, should definitely read this, great and excellent ebook, thanks to the author
    One person found this helpful
    Report

Top reviews from other countries

  • Cliente Amazon
    1.0 out of 5 stars A shame! Very good book but very poor printing quality
    Reviewed in Spain on June 14, 2021
    As per its contents It is a very very good book. I totally reccomend it.
    However, the printing quality is disappointing. It is a shame that such a good book is printed this way. It is not worth spending more than 50 euros on a book printed this way. It is a shame because as I said the book is very good
  • Miles P.
    5.0 out of 5 stars Awesome book
    Reviewed in Canada on June 3, 2014
    I've been waiting for the book on this topic for a very long time. The author said
    it right - you can't be a master of C/C++ programming without handling the compiling
    and linking issues with ease, and also - there is surprisingly little information
    on this topic solidified in the form of a single book.

    The way how it is written is amazing. Don't remember when it was the last time
    when I went through the technical book with such an ease. The author just knows
    how to tell the things in the most effective way. The flow of thoughts and pace of exposing the important facts is perfect, written by a technical mind for the technical
    minds.

    Plenty of carefully tailored yet perfectly simple examples guide you right through the topics. All you need is working OS with the platform-specific compiler (Ubuntu on VMWare Fusion in my case with gcc/g++ installed) and a little time to go through the
    examples. Before you know it, you find yourself navigating your way through the stuff
    of which you previously had very limited or no knowledge whatsoever.

    The collections of recipes (last 2-3 chapters/HowTo's section) where some of the rarely found tips are exposed is simply brilliant and worth every penny.

    This book definitely found its place in my collection of books to take to a desert island.