Linux常用工具
- 预处理器 cpp
 - C编译器 gcc
- 编译优化等级 -OX
- -O0:不优化
 - -O2:默认级别
 - -O3:展开循环、更多内联,有时反而变慢或行为不符预期
 - -Os:空间优化(适合嵌入式):牺牲少量速度,换取更小代码段
 - -Og:调试优化:保留调试信息并做少量优化,比 -O0 稍快
 
 
 - 编译优化等级 -OX
 - C++ 编译器 g++
 - 汇编器 as
 - 链接器 ld
 - 二进制工具集
- 符号显示器 nm
- nm -S a.o       # 查看符号大小和段信息
![image]()
U:未定义 T:非静态代码段 r:静态只读数据段
 
 - nm -S a.o       # 查看符号大小和段信息
 - 信息查看器 objdump
- objdump -s 文件名 # 查看可执行程序数据段内容
 - objdump -t a.o # 查看符号表
 
 - 段剪辑器 objcopy:裁剪去除elf格式
 - readelf -S a.o # 查看段表
 - size a.o # 查看代码段/数据段/未初始化数据段大小
 
 - 符号显示器 nm
 
      
—————补充知识点————

——————————————
编译过程:
- gcc -E -o main.i main.c
 - gcc -S -o main.S main.i
 - gcc -c -o main.o main.S
 - gcc -o main_elf main.o
 
——————————————
                    
                

                
            
        
浙公网安备 33010602011771号