1.交叉编译工具集
\qquad 在我们安装交叉工具集时,不仅安装了arm-linux-gnueabi-gcc
,还安装了很多工具,它们共同构成交叉编译工具集。
arm-linux-gnueabi-addr2line arm-linux-gnueabi-gcov-tool
arm-linux-gnueabi-ar arm-linux-gnueabi-gdb
arm-linux-gnueabi-as arm-linux-gnueabi-gfortran
arm-linux-gnueabi-c++ arm-linux-gnueabi-gprof
arm-linux-gnueabi-c++filt arm-linux-gnueabi-ld
arm-linux-gnueabi-cpp arm-linux-gnueabi-ld.bfd
arm-linux-gnueabi-elfedit arm-linux-gnueabi-nm
arm-linux-gnueabi-g++ arm-linux-gnueabi-objcopy
arm-linux-gnueabi-gcc arm-linux-gnueabi-objdump
arm-linux-gnueabi-gcc-5.3.1 arm-linux-gnueabi-ranlib
arm-linux-gnueabi-gcc-ar arm-linux-gnueabi-readelf
arm-linux-gnueabi-gcc-nm arm-linux-gnueabi-size
arm-linux-gnueabi-gcc-ranlib arm-linux-gnueabi-strings
arm-linux-gnueabi-gcov arm-linux-gnueabi-strip
2.常用工具集的介绍
\qquad有hello.c的文件,使用交叉编译器编译
arm-linux-gnueabi-gcc hello.c -o hello
\qquadreadelf:读取elf,也就是可执行文件的头部信息
arm-linux-gnueabi-readelf -h hello
\qquadsize:显示程序各部分的字节数
arm-linux-gnueabi-size hello
text data bss dec hex filename786 284 4 1074 432 hello
\qquadnm:查看符号标签
arm-linux-gnueabi-nm hello
\qquadstrip:删除符号表
arm-linux-gnueabi-strip hello
\qquadstring:显示字符串
arm-linux-gnueabi-strings hello
\qquadobjcopy:裸机开发时,不需要头部信息,需要把头部信息去除,这就需要objcopy
\qquadobjdump:生成汇编语言
arm-linux-gnueabi-objdump -d hello