Linkers and Loaders
John R. LevineBooks.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.
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.
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 SteeleJack 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