编译工具链【持续更新中】
文章目录
- llvm-ar
- llvm-cov
- llvm-nm
- 显示符号类型:
- llvm-objcopy
- llvm-objdump
- llvm-size
- llvm-strip
clang
ld.lld
lld
llvm-ar
llvm-cov
llvm-nm
显示符号类型:
U:引用但未在位码文件中定义的对象。
C:公共符号(多个定义链接成一个定义)。
W:弱引用(多个定义链接成零个或一个定义)。
t:局部函数对象。
T:全局函数对象。
d:局部数据对象。
D:全局数据对象。
?:无法识别的内容
llvm-objcopy
llvm-objdump
llvm-objdump 是 LLVM 工具集中的一个工具,用于显示目标文件或可执行文件的信息
显示符号表 (-t 或 --syms): 显示目标文件中的符号表,包括变量和函数等信息
显示动态符号表 (-T 或 --dynamic-syms): 显示动态链接目标文件中的符号表
反汇编 (-d 或 --disassemble): 反汇编目标文件中的文本段
反汇编所有节 (-D 或 --disassemble-all): 反汇编目标文件中的所有节
显示节头信息 (-h 或 --section-headers): 显示目标文件中每个节的头信息
显示文件头信息 (-f 或 --file-headers): 显示目标文件的整体文件头信息
显示重定位信息 (-r): 显示目标文件的重定位条目
显示动态重定位信息 (-R 或 --dynamic-reloc): 显示动态链接目标文件的重定位信息
显示调试信息 (-g): 如果可用,打印来自调试信息的行信息
显示源代码行号 (-l 或 --line-numbers): 当反汇编时,显示源代码的行号
llvm-size
用于显示目标文件的段(sections)大小信息
llvm-strip
用于从目标文件中剥离(删除)部分或全部符号信息和节(sections)。
这通常用于减小最终二进制文件的大小,加快链接过程,并提高程序的加载速度。