Static Linking就是将多个relocatable object file 组合转换成一个executable object file。
这个过程中,linker主要完成两件事情:
1. Symbol resolution. Object files define and reference symbols. The purpose of symbol resolution is to
associate each symbol reference with exactly one symbol definition.
2. Relocation . Compilers and assemblers generate code and data sections that start at address zero. The
linker relocates these sections by associating a memory location with each symbol definition, and
then modifying all of the references to those symbols so that they point to this memory location.