Skip to content

Linkers and Loaders

Spend $50 to get a free movie!

ISBN-10: 1558604960

ISBN-13: 9781558604964

Edition: 2000

Authors: John R. Levine

List price: $67.95
Blue ribbon 30 day, 100% satisfaction guarantee!
Out of stock
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

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…    
Customers also bought

Book details

List price: $67.95
Copyright year: 2000
Publisher: Elsevier Science & Technology
Publication date: 10/25/1999
Binding: Paperback
Pages: 256
Size: 7.50" wide x 9.25" long x 0.50" tall
Weight: 0.990
Language: English

Preface
Linking and Loading
What Do Linkers and Loaders Do?
Address Binding: A Historical Perspective
Linking vs. Loading
Compiler Drivers
Linking: A True-Life Example
Exercises
Architectural Issues
Application Binary Interfaces
Memory Addresses
Address Formation
Instruction Formats
Procedure Calls and Addressability
Data and Instruction References
Paging and Virtual Memory
Intel 386 Segmentation
Embedded Architectures
Exercises
Object Files
What Goes into an Object File?
The Null Object Format: DOS COM Files
Code Sections: UNIX a.out Files
Relocation: DOS EXE Files
Symbols and Relocation
Relocatable a.out
UNIX ELF
IBM 360 Object Format
Microsoft Portable Executable Format
Intel/Microsoft OMF Files
Comparison of Object Formats
Exercises
Project
Storage Allocation
Segments and Addresses
Simple Storage Layout
Multiple-Segment Types
Segment and Page Alignment
Common Blocks and Other Special Segments
Linker Control Scripts
Storage Allocation in Practice
Exercises
Project
Symbol Management
Binding and Name Resolution
Symbol Table Formats
Name Mangling
Weak External and Other Kinds of Symbols
Maintaining Debugging Information
Exercises
Project
Libraries
Purpose of Libraries
Library Formats
Creating Libraries
Searching Libraries
Performance Issues
Weak External Symbols
Exercises
Project
Relocation
Hardware and Software Relocation
Link-Time and Load-Time Relocation
Symbol and Segment Relocation
Basic Relocation Techniques
Relinkable and Relocatable Output Formats
Other Relocation Formats
Relocation Special Cases
Exercises
Project
Loading and Overlays
Basic Loading
Basic Loading, with Relocation
Position-Independent Code
Bootstrap Loading
Tree-Structured Overlays
Exercises
Project
Shared Libraries
Binding Time
Shared Libraries in Practice
Address Space Management
Structure of Shared Libraries
Creating Shared Libraries
Linking with Shared Libraries
Running with Shared Libraries
The malloc Hack and Other Shared-Library Problems
Exercises
Project
Dynamic Linking and Loading
ELF Dynamic Linking
Contents of an ELF File
Loading a Dynamically Linked Program
Lazy Procedure Linkage with the PLT
Other Peculiarities of Dynamic Linking
Dynamic Loading at Run Time
Microsoft Dynamic-Link Libraries
OSF/1 Pseudo-Static Shared Libraries
Making Shared Libraries Fast
Comparison of Dynamic Linking Approaches
Exercises
Project
Advanced Techniques
Techniques for C++
Incremental Linking and Relinking
Link-Time Garbage Collection
Link-Time Optimization
Link-Time Code Generation
The Java Linking Model
Exercises
Project
References
Index