http://wiki.kldp.org/wiki.php/DocbookSgml/LinkerLoader-TRANS
http://www.linuxjournal.com/article.php?sid=6463
http://www.iecc.com/linker/
Preprocessor(전처리기) : 매크로를 적용
Compile : 코드를 Assembly Code로 번역
Assembler : Assembly code로 object file 생성
Linker : Object file을 모아 Binary로 만듬
Symbol Resolution(심볼해석), Relocation
Loader : Binary를 Memory에 올리고 수행함, Relocation
Loading 시점
Compile time : Compiler가 결정
Load time : Loader가 결정
Run time : Application이 부름
Object File
Relocatable Object File
Executable Object File
Shared Object File
cpp : The C Preprocessor
gcc : GNU Compile
as : GNU Assembler
ld : GNU Linker
ar : create, modify, and extract from archives, 정적 라이브러리를 만듬
objdump : display information from object files
strings : print the strings of printable characters in file
nm : list symbols from object files
ldd : 공유 라이브러리의 의존성을 출력한다.
strip : Discard symbols from object files
$ ldd /bin/ls
libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001e000)
libc.so.6 => /lib/libc.so.6 (0x40022000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ objdump -d /bin/ls
$ strings /bin/ls
댓글 없음:
댓글 쓰기