4- 静态链接
P101 查看elf文件、.o文件段属性: objdump -h xxx
P104 elf文件、.o文件反汇编: objdump -d xxx
P107 查看重定位表: objdump -r xxx.o
P119 查看静态库文件由哪些目标文件组成: ar -t libxxx.a
P119 查看库文件、elf文件、.o文件符号表: objdump -t xxx
P120 解压库文件: ar -x libxxx.a
P120 关闭gcc内置优化: gcc -c -fno-builtin xxx.c
P121 打印gcc编译过程: gcc --verbose -fno-builtin xxx.c
P124 默认链接脚本路径: /usr/lib/ldscript
P126 编译链接命令:
gcc -c -fno-builtin xxx.c
ld -static -e 程序第一个接口名 -o 可执行文件名 xxx.o
P128 使用链接脚本编译链接:
gcc -c -fno-builtin xxx.c
ld -static -T xxx.lds -o 可执行文件名 xxx.o
xxx.lds文件:
ENTRY(程序第一个接口名)
SECTIONS
{
. = 0X08048000 + SIZEOF_HEADERS;
指定段名 : { *(.text) *(.data) }
/DISCARD/ : { *(.comment) }
}