Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Buy Used
Used - Good See details
$32.09 & this item ships for FREE with Super Saver Shipping. Details

or
Sign in to turn on 1-Click ordering.
 
   
Sell Back Your Copy
For a $8.51 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming)
 
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) [Paperback]

John R. Levine (Author)
3.7 out of 5 stars  See all reviews (20 customer reviews)

List Price: $60.95
Price: $37.75 & this item ships for FREE with Super Saver Shipping. Details
You Save: $23.20 (38%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Monday, January 30? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more

Formats

Amazon Price New from Used from
Paperback $37.75  
Unknown Binding --  
Sell Back Your Copy for $8.51
Whether you buy it used on Amazon for $17.59 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $8.51.
Used Price$17.59
Trade-in Price$8.51
Price after
Trade-in
$9.08

Book Description

1558604960 978-1558604964 October 25, 1999 1
Whatever your programming language, whatever your platform, you probably tap into linker and loader functions all the time. But do you know how to use them to their greatest possible advantage? Only now, with the publication of Linkers & Loaders, is there an authoritative book devoted entirely to these deep-seated compile-time and run-time processes.
The book begins with a detailed and comparative account of linking and loading that illustrates the differences among various compilers and operating systems. On top of this foundation, the author presents clear practical advice to help you create faster, cleaner code. You'll learn to avoid the pitfalls associated with Windows DLLs, take advantage of the space-saving, performance-improving techniques supported by many modern linkers, make the best use of the UNIX ELF library scheme, and much more. If you're serious about programming, you'll devour this unique guide to one of the field's least understood topics. Linkers & Loaders is also an ideal supplementary text for compiler and operating systems courses.

*Includes a linker construction project written in Perl, with project files available for download. *Covers dynamic linking in Windows, UNIX, Linux, BeOS, and other operating systems.
*Explains the Java linking model and how it figures in network applets and extensible Java code.
*Helps you write more elegant and effective code, and build applications that compile, load, and run more efficiently.

Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Customers buy this book with How Debuggers Work: Algorithms, Data Structures, and Architecture $40.14

Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) + How Debuggers Work: Algorithms, Data Structures, and Architecture
  • This item: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming)

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • How Debuggers Work: Algorithms, Data Structures, and Architecture

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details



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

Product Details

  • Paperback: 256 pages
  • Publisher: Morgan Kaufmann; 1 edition (October 25, 1999)
  • Language: English
  • ISBN-10: 1558604960
  • ISBN-13: 978-1558604964
  • Product Dimensions: 9.2 x 7.4 x 0.7 inches
  • Shipping Weight: 1 pounds (View shipping rates and policies)
  • Average Customer Review: 3.7 out of 5 stars  See all reviews (20 customer reviews)
  • Amazon Best Sellers Rank: #245,365 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

20 Reviews
5 star:
 (5)
4 star:
 (9)
3 star:
 (3)
2 star:
 (1)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
3.7 out of 5 stars (20 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

44 of 45 people found the following review helpful:
5.0 out of 5 stars Shines a light on an obscure subject, January 11, 2000
By 
Joshua R. Poulson (Ridgefield, WA USA) - See all my reviews
(REAL NAME)   
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


22 of 22 people found the following review helpful:
4.0 out of 5 stars not exactly what I was expecting., January 4, 2005
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (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.

I give this book 4 stars because it is one of the best (one of the only) books on the topic, but I hope that future versions of this book (or even a competing title) will shed more light, and provide more specific examples (including specific code examples) on this confusing topic.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


32 of 36 people found the following review helpful:
3.0 out of 5 stars More of a pamphlet on linkers and loaders than a book, April 19, 2001
By 
"oberon46" (Plano, TX USA) - See all my reviews
This review is from: Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming) (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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



Inside This Book (learn more)
First Sentence:
The basic job of any linker or loader is simple: It binds more abstract names to more concrete names which permits programmers to write code using the more abstract names. Read the first page
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
relocation entries, optimizing linker, relocation item, other shared libraries, linkable files, slop space, static shared libraries, hardware relocation, relocation entry, import address table, slim binaries, stub library, relocation types, jump table entry, bss segment, global symbol table, compiler driver, dynamic linker, dynamic shared libraries, global offset table, char pad, linked shared libraries, symbol resolution, incremental linking, stub libraries
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Text Data, The Linux, Microsoft Windows
New!
Books on Related Topics | Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:




What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject