Industrial-Sized Deals TextBTS15 Shop Women's Handbags Learn more nav_sap_plcc_6M_fly_beacon $5 Albums $5 Off Fire TV Stick Off to College Essentials Shop Popular Services pivdl pivdl pivdl  Amazon Echo Starting at $99 Kindle Voyage Nintendo Digital Games Big Savings in the Amazon Fall Sportsman Event STEM Toys & Games
Linkers and Loaders and over one million other books are available for Amazon Kindle. Learn more
+ $3.99 shipping
Used: Acceptable | Details
Condition: Used: Acceptable
Comment: This paperback book shows normal wear and tear. This paperback book cover has stickers/sticker residue on it. Shipped to you from Goodwill of the Valleys, Roanoke VA. Thank you for your support!
Access codes and supplements are not guaranteed with used items.
Qty:1
  • List Price: $67.95
  • Save: $18.80 (28%)
In Stock.
Ships from and sold by Amazon.com.
Gift-wrap available.
Linkers and Loaders (The ... has been added to your Cart
Sell yours for a Gift Card
We'll buy it for $13.82
Learn More
Trade in now
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) Paperback – October 25, 1999

24 customer reviews
ISBN-13: 978-1558604964 ISBN-10: 1558604960 Edition: 1st

Buy New
Price: $49.15
31 New from $45.16 22 Used from $31.85
Amazon Price New from Used from
Kindle
"Please retry"
Paperback
"Please retry"
$49.15
$45.16 $31.85
Unknown Binding
"Please retry"
Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


InterDesign Brand Store Awareness Textbooks
$49.15 FREE Shipping. In Stock. Ships from and sold by Amazon.com. Gift-wrap available.

Frequently Bought Together

Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) + Advanced C and C++ Compiling + Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Price for all three: $156.16

Buy the selected items together

Editorial Reviews

Amazon.com Review

Written for any programmer who works with compiled code, Linkers and Loaders surveys today's hardware platforms with a tour of how code is linked and executed on IBM mainframes, Unix, and Windows. This handy title fills a valuable niche for anyone who wants to understand how programs are built and run on today's computing systems.

It's the cross-platform perspective that distinguishes this book. The author's wide-ranging perspective on IBM 370 mainframes, RISC platforms like the SUN SPARC and, of course, Microsoft Windows makes this book a commendable reference on the internals of linkers and program execution in each environment. There's also a digestible guide to the computer architecture (including registers, instruction formats, and memory addressing) for each platform. (Unix programmers will be pleased that the book has more information on non-Windows platforms than on Windows itself.) For C++ programmers, this text gives you a glimpse into the internals of such language features as macros, templates, and name mangling, and how linkers deal with them at build time.

The book closes with useful material on static libraries and dynamic linking, plus a short tour of Java and its class loader (which can resolve classes on the fly as they are downloaded over the Internet). Short exercises are provided for each chapter, making this a useful resource for both classroom and self-study on what is an often overlooked topic. --Richard Dragan

Topics covered: History of linkers and loaders, application binary interfaces (ABIs), computer architecture basics, big- and little-endian memory addresses, register and instruction formats for IBM 370, SPARC and Intel x86, paging and virtual memory, position independent code (PIC), Intel x86 segmentation, embedded architectures, object files for DOS COM and EXE files, Unix a.out, Unix ELF, IBM 360 object format, Microsoft Portable Executable (PE) format, Intel Object Module Format (OMF), storage allocation, linking details for C++, symbol management, name mangling, weak and strong references, debugging information, library formats, COFF and ELF formats, relocation, loading and overlays, bootstrap loading, shared libraries, dynamic linking for Unix ELF and Microsoft Windows DLLs, advanced linking techniques for C++, and linking in Java.

Review

"I enjoyed reading this useful overview of the techniques and challenges of implementing linkers and loaders. While most of the examples are focused on three computer architectures that are widely used today, there are also many side comments about interesting and quirky computer architectures of the past. I can tell from these war stories that the author really has been there himself and survived to tell the tale."-Guy Steele

See all Editorial Reviews
NO_CONTENT_IN_FEATURE

Best Books of the Month
Best Books of the Month
Want to know our Editors' picks for the best books of the month? Browse Best Books of the Month, featuring our favorite new books in more than a dozen categories.

Product Details

  • Series: The Morgan Kaufmann Series in Software Engineering and Programming
  • Paperback: 256 pages
  • Publisher: Morgan Kaufmann; 1 edition (October 25, 1999)
  • Language: English
  • ISBN-10: 1558604960
  • ISBN-13: 978-1558604964
  • Product Dimensions: 7.6 x 0.6 x 9.5 inches
  • Shipping Weight: 1.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (24 customer reviews)
  • Amazon Best Sellers Rank: #674,186 in Books (See Top 100 in Books)

More About the Author

See my tediously corporate home page at http://www.johnlevine.com and my blog at http://weblog.johnlevine.com. Then rush back and buy lots of books, please.

Customer Reviews

Most Helpful Customer Reviews

45 of 46 people found the following review helpful By Joshua R. Poulson on January 11, 2000
Format: Paperback
I picked up this book to delve into interesting problems with a loader that I work with and was amazed at the great story told of what happens to your code after it goes through that compiler and becomes an object. It's not done yet, folks.
This book covers a broad range of topics, after first explaining the basics and architecture gotchas, to all the phases from the back end of the compiler to a program running in memory. Three example platforms are used to illustrate this journey: Intel x86 and 32-bit Windows, UltraSPARC and Solaris, and the IBM 360/370. However, it touches upon a great deal other challenges and formats.
Some might consider the symbolic journey from source code to running program to be equivalent to Conrad's "Heart of Darkness" but Levine's book makes it more like a guided tour at a Disney Theme park. There are wonderful examples and code snippets. Clear diagrams and excellent writing.
My only complaint about this book is that the back cover makes a lot of noise about Java, but the material inside is pretty paltry alongside the more developed material on C, FORTRAN, and C++ issues. Java is really not that complicated or important to Linkers and Loaders.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
24 of 24 people found the following review helpful By Andrew Whitworth on January 4, 2005
Format: Paperback
For what this book is, it is good. but, for what I expected it to be, it is a little lackluster. I was expecting a book that would explain linking and loading, provide code examples, and teach the subject systematically. What this book is however, is a simple technical reference. It talks about what things are, and the particulars of all the different file formats and architectures. It provides no code (and no pseudo-code) to demonstrate any of the concepts.

The book does however provide several excercises at the end of each chapter that will test the programmer, and it also has a main project: each chapter prompts the reader to construct, and add to a sample linker, which the book claims should be written in Perl, although perl is never talked about in the book, and no perl code is ever provided. Since Perl code is never used in the problems, and no solutions in perl are provided in the book (they are on the website, however), it would work just as well for a programmer to use any language that they felt comfortable with, such as C/C++ or Java.

my feelings are mixed. on one hand this book is an excellent reference on a subject that rarely sees any light. if I may quote a passage: "But all the linker writers in the world could probably fit in one room, and half of them already have copies [of this book]." Clearly the audience for this topic isnt particularly large, and so it seems that linkers and loaders will remain a bit of a black art, even though this book does shed some light on the most basic concepts involved. However, this book only contains concepts, and it asks the reader to view external sources for the specifics, and it asks the programmer to have a firm grasp on their knowledge of programming, but also computer architecture.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
33 of 37 people found the following review helpful By oberon46 on April 19, 2001
Format: Paperback
If you're just looking for a piece of literature to get you started thinking about understanding linkers, this is the book for you. However, if you actually want to write your own linker, you'd best find another book. This book covers all of the popular object and executable file formats such as COFF, ELF, and OMF, but it never really goes in depth or gives any example code, which is exactly what a programmer needs to really get what's going on. Even some pseudocode would've been nice. The only thing I particularly enjoyed about this book was the author's sense of humor, which is a rare thing in the realm of technical books. John Levine pokes fun at himself several times throughout the book, acknowledging that linker programmers are a rare breed indeed - Too bad he couldn't have written a more complete book on linkers, I would've given him a much better review.
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
11 of 11 people found the following review helpful By John M. Cooper on September 5, 2000
Format: Paperback
The description of linking, loading, and various object formats is very informative. The style of writing is such that I was able to read it at one sitting (quite an accomplishment for a technical book :) ). But the book is seriously incomplete without a discussions of IBM's LX 32-bit executable, object, and DLL formats, and the differences between LX and PE, especially as it pertains to dynamic linking. Also, if you're going to discuss OMF objects, it seems impossible to me to skip NE executables, objects, and DLL formats--the jump from DOS 2.0 (OMF) to Windows NT (PE) is simply too great without a parallel discussion of NE. Finally, more coverage of incremental linking would be good. But, if you confine yourself to a.out, COFF, PE, or pre-NE OMF, this book's contents will interest you.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
24 of 30 people found the following review helpful By JK Oregon on March 2, 2001
Format: Paperback
Despite its name and cover copy, this book is simply an introduction to object file formats. The actual discussion of linkers and loaders explains only the basic concepts (as others have pointed out, the coverage of advanced concepts such as dynamic linking is scant.) Thereafter, Levine traipses through a variety of object file formats and explains their layouts and superficially their differences.
Linking in Java is given a mere couple of pages--a clear afterthought. This despite being a topic of some complexity and uniquely different from traditional linking and loading.
Finally, a serious complaint: the book and its cover both trumpet a "linker construction project in Perl" that you can download from the author's website. A year after publication, this code is still not posted. When I contacted the author, he said he had been "too busy" to write the code and doubted he would ever get it posted. I find this kind of thing really dishonest.
But even that notwithstanding, this book is just not very good.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming)
This item: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming)
Price: $49.15
Ships from and sold by Amazon.com

Want to discover more products? Check out this page to see more: programming