gcc -v --save-temps ---------- 查看编译过程
crosstool-ng 制作交叉编译工具链
下载源码包:
http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.23.0.tar.xz
autoreconf
./configure --enable-local
make
make install
命令:
./ct-ng help
./ct-ng list-samples
./ct-ng menuconfig
./ct-ng build
linux下的几个命令: binutils
elf 格式: 可执行 可链接的格式
readelf -S a.out -------------- 查看a.out 可执行程序的段的信息,
./a.out ------------ 执行a.out
MMU--------内存管理单元
vi a.out ---------- :%!xxd 以16进制的方式打开a.out
ar 打包命令:
gcc -c a.c
gcc -c b.c
ar cr libtest.a a.o b.o ------------ 打包a.o b.o生成静态库test
ar t libtest.a ---------------- 查看静态库test 包含的.o文件
ar x libtest.a ---------- 解压libtest.a
strip libtest.a ---------- 去除掉libtest.a 的调试信息
nm libtest.a ---------- 查看libtest.a 的符号信息 ( 包含全局变量, 函数名)
ldd a.out ----------- 查看a.out 依赖 的动态库
objdump -dl a.out 反汇编a.out 到汇编语言
pwd----------查看当前目录的绝对路径