Ãëàâíàÿ    Ex Libris    Êíèãè    Æóðíàëû    Ñòàòüè    Ñåðèè    Êàòàëîã    Wanted    Çàãðóçêà    ÕóäËèò    Ñïðàâêà    Ïîèñê ïî èíäåêñàì    Ïîèñê    Ôîðóì   
blank
Àâòîðèçàöèÿ

       
blank
Ïîèñê ïî óêàçàòåëÿì

blank
blank
blank
Êðàñîòà
blank
Levine J.R. — Linkers and Loaders [compilers, ELF]
Levine J.R. — Linkers and Loaders [compilers, ELF]



Îáñóäèòå êíèãó íà íàó÷íîì ôîðóìå



Íàøëè îïå÷àòêó?
Âûäåëèòå åå ìûøêîé è íàæìèòå Ctrl+Enter


Íàçâàíèå: Linkers and Loaders [compilers, ELF]

Àâòîð: Levine J.R.

Àííîòàöèÿ:

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.


ßçûê: en

Ðóáðèêà: Computer science/

Ñòàòóñ ïðåäìåòíîãî óêàçàòåëÿ: Ãîòîâ óêàçàòåëü ñ íîìåðàìè ñòðàíèö

ed2k: ed2k stats

Ãîä èçäàíèÿ: 2000

Êîëè÷åñòâî ñòðàíèö: 266

Äîáàâëåíà â êàòàëîã: 17.10.2010

Îïåðàöèè: Ïîëîæèòü íà ïîëêó | Ñêîïèðîâàòü ññûëêó äëÿ ôîðóìà | Ñêîïèðîâàòü ID
blank
Ïðåäìåòíûé óêàçàòåëü
EXTDEF records      87
External dummy (XD) relocation type      103 104—105
External Symbol IDs (ESIDs)      71 74
External symbols, weak      129 144—145
Fast Fourier transform (FFT)      44
Faults, page      34—35
File Mapping      188
Finalizers, in storage allocation      102—103
FINI pointers      209
Fixed-length instructions      24
FIXUPP records      87—89 159
Fixups in bitmaps      161
Fixups in DOS EXE files      56
Fixups in Microsoft Portable Executable (PE) format      82
Fixups, SECREL      162
Flags      60 63 143
Flags, COMDAT      101
Flags, storing      29
Flat model      43
Floating point      19
Formats, comparing      90
Formats, designing object      48—49
Formats, DOS COM      49
Formats, DOS EXE      56—58
Formats, ECOFF      139—140 142 157—158
Formats, ELF (Executable and Linking Format)      62—70
Formats, END      75
Formats, ESD      72
Formats, IBM 360 object      71—75
Formats, instruction      23—24
Formats, Microsoft Portable Executable (PE)      75—84
Formats, null object      49
Formats, OMF (Object Module Format)      84—89
Formats, relocatable a.out      58—62
Formats, RLD      74
Formats, tree-structured overlays      178
Formats, TXT      73
Formats, UNIX a.out files      50—55
FORTRAN programming language      3 98—99 183
Fortran programming language, name mangling in      124—126
Fortran programming language, subset compiler for      99
Frames, page      34
Free routines      199—200
Garbage collection, link-time      235—236
Global destructors      229
Global initializers      229
Global offset tables (GOTs)      172—176 207 213—215
Global static data, storing      25
Global symbol tables      120 122—123 146 149 222
Global symbols      13 117 152
Glue code      7 181—182
GNU linkers      12 101 108—109
GOTs      see "Global offset tables (GOTs)"
GPREL (global pointer relocation) for MIPS      162
graphical user interfaces (GUIs)      4
GRPDEF records      87
Hacking, SETHI absolute address      156
Hardware relocation      3—4 150
HASH pointers      208
HASH type sections      65
Header information      47
Header information for a.out files      51—52
Header information for COFF      78—80
Header information for ELF files      64
Header information for Microsoft Portable Executable (PE) format      78—80
Header information, program      69
Header information, section      65
Heap storage management      143
I/O      see "Input/output (I/O) routines"
IBM 360 object format      71—75
IBM 360 object format, end records in      71—73
IBM 360 object format, ESD records in      71—73
IBM 360 object format, RLD records in      73—74
IBM 360 object format, support for      75
IBM 360 object format, TXT records in      73
IBM 360/370/390 architecture      23 28
IBM 370, data and instruction references      28—30
IBM 370, instruction addressing      30
IBM 370, instruction formats      24
IBM MVS      see "MVS"
IBM pseudo-registers, relocation in      162
IBM pseudo-registers, storage allocation in      103—105
Immediate operands      23
Imports in Microsoft Portable Executable (PE) format      81
Imports, delay-loaded      221
INCLUDE commands      180
Incremental linking and relinking      233—235
Indexed addressing      23
indirect calls      221
Indirect register      23
INIT pointers      209
Initialization routines      242
Initialization routines and bootstrapping      27
Initialization routines for dynamically linked libraries (DLLs)      212—213
Initialization routines in storage allocation      102—103
Initialization routines, code sets      10
Initialization routines, global      229
Initialization routines, library-specific      197
Initialization routines, standard startup      14
inline functions      230
Input files      6
Input segments      111
Input/output (I/O) routines      19 144 167
Instruction encoding      23—24
Instruction formats      19 23—24
Instruction references      28—34
Instruction relocation      154—157
Instruction relocation, SPARC      155—157
Instruction relocation, x86      155
Instruction sets, adding new instructions to      46
Instructions, fixed-length      24
Instructions, hardware return      25
Instructions, jump      22
Instructions, variable-length      24
Intel 386/486/Pentium      see "Intel x86"
Intel OMF      see "OMF (Object Module Format) files"
Intel TIS documents      85
Intel x86, code      8—10
Intel x86, data and instruction references      32—34
Intel x86, DOS on      37
Intel x86, hardware stack      25
Intel x86, instruction formats      24 33
Intel x86, instruction relocation in      155
Intel x86, program instructions      45—46
Intel x86, segmented      41—43
Intel x86, storage allocation in segmented      106—107
Interlibrary references      194
Intermediate languages      239—240
Interpretive systems      17
Intersegment jump      152 155
Java linking model      241—244
Java Virtual Machine      17
JMPREL pointers      208
Jump and link instruction      32
Jump instructions      22 169
Jump instructions, conditional      31 34
Jump instructions, intersegment      155
Jump instructions, relative      40
Jump instructions, unconditional      34
Jump tables, compatibility problems with      201
Jump tables, creating      192 193—194
Language libraries, growth of      187
Languages      see "Command languages" "Individual
Large model code      42
Lazy binding      213 221—222 226
Lazy just-in-time resolution      244
Lazy procedure linkage, in DLLs      213—215
LD      see "GNU linkers"
LD (label definition) type symbols      72
ld.so      209
ld.so.conf      211—212
LD_LIBRARY_PATH      211
LEDATA records      87—88 159
LIBDIC records      140—141
LIBHED records      140—141
LIBLOC records      140—141
LIBNAM records      140—141
Libraries      135—148 see "Interlibrary "Language "Shared
Libraries and weak external symbols      144—145
Libraries, creating      141—142
Libraries, finding      211—212
Libraries, formats      136—141
Libraries, multiple      143
Libraries, object code      8—9
Libraries, performance issues      144
Libraries, purpose of      135
Libraries, searching      142—143 144
Libraries, stub      195
Libraries, symbol directory      146
Libraries, system call      187
Libraries, versions of      196
Library cache files      211—212 216 223
Library code      2 26
Library routines, redefining      199
Library semantics      205—206
LIDATA records      87—88 159
Line number information      118 130
Link-time code generation      238—240
Link-time code generation, assembler      239—240
Link-time code generation, profiling and instrumentation      239
Link-time garbage collection      235—236
Link-time optimization      237—238 244
Link-time relocation      151
Link-time type checking      128—129
Linkable files      48—49
Linkage, lazy procedure in DLLs      213—215
Linker commands in tree-structured overlays      180
Linker commands, languages of      11—12
Linker control scripts, in storage allocation      107—108
Linkers      see "Dynamically linked shared libraries"
Linkers and loaders      1—17
Linkers and loaders, combined      167
Linkers and loaders, function of      1
Linkers and loaders, separating      17
Linkers, dynamic      205—227
Linkers, example      12—17
Linkers, GNU      12
Linkers, growth of      3 17
Linkers, incremental      233—235
Linkers, modifying      19
Linkers, multitarget      46
Linkers, one-pass      8
Linkers, patching object code      6
Linkers, resolving references to symbols      6
Linkers, retargetable      46
Linkers, specifying addresses in      11
Linkers, supporting multiple code segments      11
Linkers, trial      230—231
Linkers, two-pass      6—8
Linkers, versus loading      5—10
Linkers, writing      21 24 39
Linking process, diagrammed      7
Linux      190 195 197—198 239
LITERAL, for Alpha      162
LNAMES records      85 86—87
Load-time code generation      240—241
Load-time relocations      151 212
Loadable files      48
Loadable segments      69 111
loaders      167—177
Loaders with relocation      168—169
Loaders, basic      167—168
Loaders, bootstrap      176—177
loaders, classes      242
Loaders, combined with linkers      167
Loaders, patching object code      6
Loaders, position-independent code in      169—176
Loaders, program      5
Local static data, referencing      173
Local static data, storing      25
Local variables, allocating      25
Lower-level page tables      36 171
Machine language      1—2
Machine registers, rules about      20
make program      11
Malloc hack, to shared libraries      199—200
Mapped files, writing to      38
Mapping      see "File mapping"
Mapping, libraries      212
Mapping, pages      35 168
Mauchly, John      2
Medium model code      42
memory addresses      20—22
Memory addresses, byte order and alignment in      20—22 44
Memory addresses, listing for libraries      40
Memory addresses, rules about      20
Memory addresses, stack frame layout      26
Memory, byte-addressable      21
Memory, main      20
Memory, non-uniform      44
Memory, virtual      3 34—40
Microsoft Portable Executable (PE) format      75—84 90
Microsoft Portable Executable (PE) format and COFF      83
Microsoft Portable Executable (PE) format, directories in      80
Microsoft Portable Executable (PE) format, DLLs in      217—222 224—225
Microsoft Portable Executable (PE) format, example      77
Microsoft Portable Executable (PE) format, exports in      81 218—221
Microsoft Portable Executable (PE) format, features of      84
Microsoft Portable Executable (PE) format, fixups in      82
Microsoft Portable Executable (PE) format, headers for      78—80
Microsoft Portable Executable (PE) format, imports in      81 218—221
Microsoft Portable Executable (PE) format, linker libraries in      139—140
Microsoft Portable Executable (PE) format, resources in      82
Microsoft Portable Executable (PE) format, running      82—83
Microsoft Portable Executable (PE) format, section table for      80
Microsoft Portable Executable (PE) format, special sections in      81—82
Microsoft Portable Executable (PE) format, storage allocation in      113—114
Microsoft Portable Executable (PE) format, thread local storage in      82
Microsoft Windows      see "MS Windows"
MINIX      239
MIPS processor      157—158 163
mmap() system call      198
MODEND records      87 89
Modification process      10
Module tables      120—121
Modules      135
Motorola 56000 series      43—44
MS Windows      4 12 37 43 90 169 see
MS Windows, DLLs in      217—222
MS Windows, NT      75
Multibyte data      21—22
Multiflow VLIW machine      238
Multiple directories, shared libraries in      196
Multiple libraries      143
Multiple regions, in overlays      183
Multiple segments, in storage allocation      96—98
Multiple symbol tables      118
MVS      136
MVS, archives in      141
MVS, relocation in      169
Name conflicts      201
Name mangling, in symbol management      124—129
Name resolution, in symbol management      117—118
NEEDED files      208 211
NMAGIC scheme      52 110—111
NOBITS type sections      64 66
Non-uniform memory      44
Nonglobal symbols      118
NT      see "MS Windows"
Null object format, DOS COM files in      49
1 2 3 4
blank
Ðåêëàìà
blank
blank
HR
@Mail.ru
       © Ýëåêòðîííàÿ áèáëèîòåêà ïîïå÷èòåëüñêîãî ñîâåòà ìåõìàòà ÌÃÓ, 2004-2024
Ýëåêòðîííàÿ áèáëèîòåêà ìåõìàòà ÌÃÓ | Valid HTML 4.01! | Valid CSS! Î ïðîåêòå