by John R. Levine
Linkers and loaders are some of the most basic pieces of computer systems software, predating even compilers and operating systems. They perform the critical, if unglamorous, functions of connecting subprograms together to make a complete executable and loading programs into memory in order to make them ready to run. Levine describes the how linkers and loaders currently work and how their functionality has evolved over the past 50 years as operating systems and hardware became faster and more featureful, and as software has become larger and more dynamic. Better still, he explains and compares the relative merits of the design decisions that have gone into the linkers and loaders in systems such as Win32, Unix System V, and Linux. Given the less than spellbinding character of the material, this book does a fine job presenting it and should be read by anyone who wants to write programs that manipulate object code.
copyright © 2001 John Regehr