ARM ADS全称为ARM Developer Suite。它是ARM公司推出的新一代ARM集成开发工具。
armcc是ARM C编译器。armcc用于将用ANSI C编写的程序编译成32位ARM指令代码。
有关更详细的选项说明,读者可查看ADS软件的在线帮助文件。
在命令控制台环境下,输入命令: armcc -help
可以查看armcc的语法格式以及最常用的一些操作选项
C:\Users\Administrator>armcc -help
ARM C Compiler, ADS1.2 [Build 848]
Software supplied by: Team-EFA
//现在ADS的最新版本是1.2
Usage: armcc [options] file1 file2 ... filen
//用法为: armcc [options] file1 file2 ... fileN
//这里的option是编译器所需要的选项,fiel1,file2,...,fileN是相关的文件名。
Main options:
-c Do not link the files being compiled
//-c:表示只进行编译不链接文件;
-C Prevent the preprocessor from removing comments (Use with -E)
//-C:(注意:这是大写的C)禁止预编译器将注释行移走;
-D<symbol> Define <symbol> on entry to the compiler
//-D<symbol>:定义预处理宏,相当于在源程序开头使用了宏定义语句#define symbol;
-E Preprocess the C source code only
//-E:仅仅是对C源代码进行预处理;
-f<options> Enable a selection of compiler defined features
-g<options> Generate tables for high-level debugging
//-g<options>:指定是否在生成的目标文件中包含调试信息表;
-I<directory> Include <directory> on the #include search path
//-I<directory>:将directory所指的路径添加到#include的搜索路径列表中去;
-J<directory> Replace the default #include path with <directory>
//-J<directory>:用directory所指的路径代替默认的对#include的搜索路径;
-o<file> Name the file that holds the final output of the compilation
//-o<file>:指定编译器最终生成的输出文件名。
-O0 Minimum optimization
//-O0:不优化;//这是控制代码优化的编译选项,大写字母O后面跟的数字不同,表示的优化级别就不同
-O1 Restricted optimization for debugging
//-O1:-O1关闭了影响调试结果的优化功能;
-O2 Maximum optimization
//-O2:该优化级别提供了最大的优化功能;
-S Output assembly code instead of object code
//-S:对源程序进行预处理和编译,自动生成汇编文件而不是目标文件;
-U<symbol> Undefine <symbol> on entry to the compiler
//-U<symbol>:取消预处理宏名,相当于在源文件开头,使用语句#undef symbol;
-W<options> Disable all or selected warning messages
//-W<options>:关闭所有的或被选择的警告信息;
armcpp是ARM C++编译器。它将ISO C++ 或EC++ 编译成32位ARM指令代码。
tcc是Thumb C 编译器。tcc将ANSI C源代码编译成16位的Thumb指令代码。
tcpp是Thumb C++ 编译器。它将ISO C++ 和EC++ 源码编译成16位Thumb指令代码。
armasm是ARM和Thumb的汇编器. 它对用ARM 汇编语言和Thumb 汇编语言写的源代码进行汇编。
armlink是ARM连接器。该命令既可以将编译得到的一个或多个目标文件和相关的一个或多个库文件进行链接,
生成一个可执行文件,也可以将多个目标文件部分链接成一个目标文件,以供进一步的链接。
ARM链接器生成的是ELF格式的可执行映像文件。
armcc用法详解
下面为读者介绍上述的4种ARM C和C++编译器的命令通用语法。
compiler [PCS-options] [source-language] [search-paths][preprocessor-options]
[output-format] [target-options][debug-options] [code-generation-options]
[warning-options] [additional-checks][error-options] [source]
用户可以通过命令行操作选项控制编译器的执行。
所有的选项都是以符号“-”开始,有些选项后面还跟有参数。
在大多数情况下,ARM C和 C++编译器允许在选项和参数之间存在空格。
命令行中各个选项出现顺序可以任意。
这里的compiler是指armcc,tcc, armcpp和 tcpp中的一个;
PCS-options:指定了要使用的过程调用标准;
source-language:指定了编译器可以接受的编写源程序的语言种类。
对于C编译器默认的语言是ANSI C,对于C++编译器默认是ISO标准C++;
search-paths:该选项指定了对包含的文件(包括源文件和头文件)的搜索路径;
preprocessor-options:该选项指定了预处理器的行为,其中包括预处理器的输出和宏定义等特性;
output-format:该选项指定了编译器的输出格式,可以使用该项生成汇编语言输出列表文件和目标文件;
target-options:该选项指定目标处理器或ARM体系结构;
debug-options:该选项指定调试信息表是否生成,和该调试信息表生成时的格式;
code-generation-options:该选项指定了例如优化,字节顺序和由编译器产生的数据对齐格式等选项