在linux上我们经常涉及到一些交叉编译的操作,例如在x86环境下编译ARM指令的文件,这时就需要安装交叉编译器
安装arm交叉编译的命令是
sudo apt-get install gcc-arm-linux-gnueabi
对于编译arm可执行文件,以hello.c为例
<pre name="code" class="html">arm-linux-gnueabi-gcc hello.c -o hello
编译静态的可执行文件,即将外部链接库编译进可执行文件
arm-linux-gnueabi-gcc hello.c -o hello -static
另外反汇编可执行文件可以获取可执行程序的汇编语言,显示在终端上,具体参数可以详见help
arm-linux-gnueabi-objdump -S hello
其中第一列为指令的虚拟地址,也就是说在文件编译完成后每条指令的虚拟地址也就确定了
第二列为指令的指令字,是由计算机所识别的指令编码
后面是指令的具体描述