Link (Computer Systems)
- in object code, all referenced memories are left empty
0
. - the linker will later produce an executable with all references combined.
Linker's Tasks
- Symbol Resolution (Function names, Global variables, Static variables ... )
- Memory Relocation (Modify reference addresses to the final memory location)
Object Files
- Relocatable (
.o
): Code + Data + Metadata - Executable (
./executable
): Binary that OS loader can read and execute - Shared Object File (
.so
): Dynamically linked at load & runtime
Linux uses ELF