arm-linux-gcc常用参数

arm-linux-gcc 参数:

0.arm-linux-gcc -o example example.c
   不加-c、-S、-E参数,编译器将执行预处理、编译、汇编、连接操作直接生成可执行代码。
   -o参数用于指定输出的文件,输出文件名为example,如果不指定输出文件,则默认输出a.out

1. arm-linux-gcc -c -o example.o example.c
   -c参数将对源程序example.c进行预处理、编译、汇编操作,生成example.o文件
   去掉指定输出选项"-o example.o"自动输出为example.o,所以说在这里-o加不加都可以

2.arm-linux-gcc -S -o example.s example.c
   -S参数将对源程序example.c进行预处理、编译,生成example.s文件
   -o选项同上

3.arm-linux-gcc -E -o example.i example.c
  -E参数将对源程序example.c进行预处理,生成example.i文件
   就是将#include,#define等进行文件插入及宏扩展等操作。
  
4.arm-linux-gcc -v -o example example.c
加上-v参数,显示编译时的详细信息,编译器的版本,编译过程等。

5.arm-linux-gcc -g -o example example.c
-g选项,加入GDB能够使用的调试信息,使用GDB调试时比较方便。

6.arm-linux-gcc -Wall -o example example.c
-Wall选项打开了所有需要注意的警告信息,像在声明之前就使用的函数,声明后却没有使用的变量等。

7.arm-linux-gcc -Ox -o example example.c
-Ox使用优化选项,X的值为空、0、1、2、3

8.arm-linux-gcc –static -o libexample.a example.c
静态链接库文件

arm-linux-ld 参数:

arm-linux-ld -Txxx.lds -o output_elf source_o

-T指定lds链接脚本 

-o指定输出文件

arm-linux-objcopy 参数:

         arm-linux-objcopy被用来复制一个目标文件的内容到另一个文件中.此选项可以进行格式的转换.

        在实际编程的,用的最多的就是将ELF格式的可执行文件转换为二进制文件.

arm-linux-objcopy -O binary -S source_elf output_bin

-O 输出的格式

-S 不从源文件中复制重定位信息和符号信息到目标文件中

arm-linux-objdump 参数:

arm-linux-objdump -D -m arm xxx.elf > xxx.dis

-D 显示文件中所有汇编信息

-m machine (上面-m arm 指定生成arm架构的反汇编代码)


你可能感兴趣的:(嵌入式Linux学习)