-
-E
- 仅执行预处理,不执行编译、汇编和链接。预处理后的输出将显示在标准输出器件上。
-
-S
- 仅执行编译,不执行汇编和链接。生成 .s 文件。
-
-c
- 仅执行编译和汇编;不执行链接。生成 .o 文件。
-
-g
- 该选项用于向输出文件添加基于 DWARF2 的调试信息。此调试信息是 GNU 调试器、mb-gdb 或 arm-none-eabi-gdb 所必需的信息。调试器可在源码级别和汇编级别提供调试。仅当输入为 C/C++ 源文件时,该选项才能添加调试信息。
-
-gstabs
- 请将该选项用于在源码级别的汇编 (.S) 文件和汇编文件符号上添加基于 STABS 的调试信息。此汇编程序选项直接提供给 GNU 汇编程序、mb-as 或 arm-none-eabi-as。如果使用编译器 mb-gcc 或 arm-none-eabi-gcc 来对汇编文件进行编译,请给该选项添加 -Wa 前缀。
-
-On
- GNU 编译器可在不同级别提供最优化。下表中的最优化级别仅适用于 C 语言和 C++ 语言源文件。
表 1. 适用于值 n 的最优化 n 最优化 0 无编译。 1 中等编译。 2 完全编译 3 完全编译。尝试自动内联小型子程序。 S 按大小进行最优化。 注释: 如果最优化级别为 1 和更高级别,则会导致代码重排。执行代码调试时,建议使用无最优化级别。通过 GDB 对最优化后的程序进行调试时,显示的结果可能看上去不一致。 -
-v
- 该选项可采用详细模式执行编译器和编译器底下的所有工具。该选项可以提供传递给所有工具的选项的完整描述。此描述可用于发现每个工具的默认选项。
-
-save-temps
- GNU 编译器可以提供在编译过程中保存生成的中间文件的机制。编译器可存储以下文件:
- 预处理器输出文件 -input_file_name.i(适用于 C 语言代码)和 input_file_name.ii(适用于 C++ 语言代码)
- 编译器 (cc1) 输出文件,采用汇编格式 - input_file_name.s
- 汇编程序输出文件,采用 ELF 格式 - input_file_name.s
编译器会将整个编译的默认输出保存为 a.out。
-
-o filename
- 编译器会以 ELF 格式存储编译进程的默认输出,文件名为 a.out。您可以使用 -o output_file_name 更改默认名称。创建的输出文件采用 ELF 格式。
-
-Wp,<option>
、-Wa,<option>
和-Wl,<option>
- 编译器
mb-gcc
或arm-none-eabi-gcc
作为其他可执行文件的包装文件使用,此类可执行文件包括预处理器、编译器 (cc1
)、汇编程序和连接器等。您可以单独运行编译器的这些组件,或者也可以通过顶层编译器来运行。某些工具需要通过某些选项才能使用,但顶层编译器可能不需要选项。要运行这些命令,请使用下表中列出的选项。
表 2. 传递到顶层 GCC 编译器的工具专用选项 选项 工具 示例 -Wp,<option> 预处理器 mb-gcc -Wp,-D -Wp, MYDEFINE ...
向预处理器发出信号,指示其使用 -D MYDEFINE 选项来定义 MYDEFINE 符号。
-Wa,<option> 汇编程序 mb-as -Wa, ...
向汇编程序发出信号,指示其将 MicroBlaze 处理器定为目标。
-Wl,<option> 连接器 mb-gcc -Wl,-M ...
向连接器发出信号,指示其使用 -M 选项生成映射文件。
-
-help
- 将该选项与任意 GNU 编译器搭配使用即可获取有关可用选项的更多信息。您也可以查询 GCC 手册。
-
-B directory
- 向 C 语言运行时库搜索路径添加目录。
-
-L directory
- 向库搜索路径添加目录。
-
-I directory
- 向头文件搜索路径添加目录。
-
-l library
- 搜索库中是否存在未定义的符号。注释: 编译器会向此命令行开关中所指示的库名称添加“lib”前缀。