linux查看编译工具链,linux gcc编译常用命令之gun工具链的使用

http://edu.51cto.com/lesson/id-20331.html

linux gcc编译常用命令之gun工具链的使用

Binutils源码工具包中的常用命令:

gcc g++ ld ldd nm strings readelf addr2line strip

objcopy as ar gdb

1、gcc/g++编译器

示例:

gcc -c test.c

gcc -o test test.c

gcc -E -o test.i test.c

gcc -g -o test test.c

2、addr2line 把程序地址转换为文件名和行号,需要编译时加-g

示例:

addr2line a.out -a 804854c

3、ar 打包提取归档文件

ar rv libtest.a test.o

4、as gcc用来输出汇编文件,产生目标文件由连接器ld链接

示例:

gcc -S tty.c -o tty.s

as -o tty.o tty.s

5、nm 查看导出符号,列出目标文件的符号

示例:

nm -o libtest.so

6、objcopy 文件格式转换

7、objdump 反编译

示例:

objdump -T libtest.so

objdump -d a.out

7、ranlib产生归档文件索引,并将其保存到这个归档文件

8、readelf 显示elf格式可执行文件信息

示例:

readelf -h a.out

9、size 列出目标文件每一段的大小以及总体大小

示例:

size a.out

10、strings 打印目标文件中的可打印字符

示例:

strings /lib64/libc.so.6 | grep GLIBC_

11、strip 丢弃目标文件中的全部或特定符号,减少体积

示例:

strip a.out

12、ldd 用于判断某个可执行的elf档案引用什么动态库

示例:

ldd -v libtest.so

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值