1.什么是交叉工具链
背景: 嵌入式开发采用交叉开发的开发模式。
运行在宿主机上面,通过交叉编译工具链编译出的程序才能在目标机上运行。
2.编译器:arm-linux-gcc
arm-linux-gcc hello.c -o hello
3.反汇编工具:arm-linux-objdump
arm-linux-objdump -D -S hello
4.ELF文件查看工具:arm-linux-readelf
arm-linux-readelf -a hello
arm-linux-readelf -d hello
5.一个常见问题:
/bin/sh: ./hello : not found
并不是指应用程序找不到,而是指应用程序所需的动态链接库没有找到。
6.那怎么判断一个应用程序需要哪些动态链接库呢:
采用5中的命令,arm-linux-readelf -d hello,查看该应用程序,shared library:动态链接库。