update 8.md 9.md

This commit is contained in:
2025-11-26 03:47:12 +09:00
parent 17257c2d9f
commit 0a652a3214
2 changed files with 228 additions and 0 deletions

25
notes/8.md Normal file
View File

@@ -0,0 +1,25 @@
# Linking
When Calling Functions in Other Files, We Need to Link Them Together. Because Caller do know how to pass data by calling convention, but do know where the callee is located in memory.
## Why Linker Needed?
* Modularity
* Efficiency
* Time: Seperate Compiliation
* Space: Libraries
## What do Linker do?
1. Symbol Resolution
2. Reloacation
## 3 Types of Object
1. Relocatable Object File (`*.o`)
2. Executable File (`a.out`)
3. Shared Object File (`*.so`)
## ELF* Executable and Linkable Format