Join Books.org — it's free

Book cover of Linkers and Loaders
Utilities (Computer Applications), General & Miscellaneous Computing

Linkers and Loaders

by John R. Levine
Available on Bookshop Write a review

Books.org participates in affiliate programs including Bookshop.org and the Amazon Services LLC Associates Program. We may earn a commission from qualifying purchases made through links on this page, at no additional cost to you.

Log in to track your reading progress.

Overview

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.

Audience: Practicing programmers, computer language designers and developers, and students.

Synopsis

"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

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.

Features:
* 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.

Electronic Review of Computer Books - Jack J. Woehr

Linkers & Loaders, by John Levine, is tightly focused on the domain of program linkage and symbol resolution. It takes you on an argosy commencing at IBM 370 assembly linking and ending up in C++ on modern Pentium and RISC architectures, visiting many of the islands in the archipelago in between, such as UNIX a.out, COFF, ELF, PC DOS OMF, and Window NT PE format.

Levine, moderator of the comp.compilers Internet newsgroup, is a world-class expert in the field and makes his points clearly and concisely, injecting opinion only in summaries of the plusses and minuses of the various object formats, evaluating them much as if they were fine wines. Levine pulls no rabbits from hats; he provides references, including web references for publications that also reside online, with which you can deepen your knowledge of specific formats and platforms.

The computer press has tended in recent years to gassy books that hop around subjects related only by their commercial context (a flaw of many or most of the Java books in print, for example). Linkers & Loaders is classic computer technical writing, focused on minutiae, ship-in-the-bottle all the way. Still, it's not so detail-obsessed that it becomes a shelf reference rather than an pleasant and rapidly absorbed introductory volume.

Linkers & Loaders is probably the quickest way to get a fully satisfactory introduction to the subject of compile-time linkage and run-time loading, especially the modern UNIX formats. What Levine doesn't cover you'll be prepared to deduce from the header files after you have read this well-written, well-edited, well-indexed, and well-designed book.

About the Author, John R. Levine

John Levine is the author or co-author of many books, including lex & yac (O'Reilly), Programming for Graphics Files in C and C++ (Wiley), and The Internet for Dummies (IDG). He is also publisher emeritus of the Journal of C Language Translation, long-time moderator of the comp.compilers newsgroup, and the creator of one of the first commercial Fortran 77 compilers. He holds a Ph.D. in Computer Science from Yale University.

Reviews

There are no reviews yet. Log in to write one.

Editorials

From the Publisher

"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

Jack J. Woehr

Linkers & Loaders, by John Levine, is tightly focused on the domain of program linkage and symbol resolution. It takes you on an argosy commencing at IBM 370 assembly linking and ending up in C++ on modern Pentium and RISC architectures, visiting many of the islands in the archipelago in between, such as UNIX a.out, COFF, ELF, PC DOS OMF, and Window NT PE format.

Levine, moderator of the comp.compilers Internet newsgroup, is a world-class expert in the field and makes his points clearly and concisely, injecting opinion only in summaries of the plusses and minuses of the various object formats, evaluating them much as if they were fine wines. Levine pulls no rabbits from hats; he provides references, including web references for publications that also reside online, with which you can deepen your knowledge of specific formats and platforms.

The computer press has tended in recent years to gassy books that hop around subjects related only by their commercial context (a flaw of many or most of the Java books in print, for example). Linkers & Loaders is classic computer technical writing, focused on minutiae, ship-in-the-bottle all the way. Still, it's not so detail-obsessed that it becomes a shelf reference rather than an pleasant and rapidly absorbed introductory volume.

Linkers & Loaders is probably the quickest way to get a fully satisfactory introduction to the subject of compile-time linkage and run-time loading, especially the modern UNIX formats. What Levine doesn't cover you'll be prepared to deduce from the header files after you have read this well-written, well-edited, well-indexed, and well-designed book.
β€” Electronic Review of Computer Books

Booknews

Linkers and loaders are the critical tools that permit programs to be built from modules rather than as one big monolith. With the advent of C++, Java, and other object-oriented languages, these tools have become increasingly more complex. After a brief historical overview of the topic, this manual covers computer architecture from the point of view of linker design, the internal structure of object and executable files, the allocation of storage to the segments of linked programs, symbol hiding and resolution, address relocation, and statically and dynamically linked libraries. Annotation c. Book News, Inc., Portland, OR (booknews.com)

Book Details

Published
October 1, 1999
Publisher
Elsevier Science
Pages
274
Format
Paperback
ISBN
9781558604964

More by John R. Levine

Similar books