This preview shows page 1. Sign up to view the full content.
Unformatted text preview: contain program data, and others contain data structures that guide the linker and loader. A linker concatenates blocks together, decides on run-time locations for the concatenated blocks, and modiﬁes various locations within the code and data blocks. Linkers have minimal understanding of the target machine. The compilers and assemblers that generate the object ﬁles have already done most of the work. 7.3 Object Files
Object ﬁles come in three forms: ¯ ¯ ¯ Relocatable object ﬁle. Contains binary code and data in a form that can be combined with other relocatable object ﬁles at compile time to create an executable object ﬁle. Executable object ﬁle. Contains binary code and data in a form that can be copied directly into memory and executed. Shared object ﬁle. A special type of relocatable object ﬁle that can be loaded into memory and linked dynamically, at either load time or run time. Compilers and assemblers generate relocatable object ﬁles (including shared object ﬁles). Linkers generate executable object ﬁles. Technically, an object modul...
View Full Document