|Non-Confidential||PDF version||ARM DUI0529M|
|Home > Overview of ARM Compiler > About ARM Compiler > Summary of ARM Compiler tools|
ARM® Compiler includes the tools and libraries required to create executable images, dynamically linked libraries and shared objects from C, C++, and ARM assembly code.
The toolchain comprises:
The ARM and Thumb® compiler. This compiles your C and C++ code.
It supports inline and embedded assemblers, and also includes the Advanced SIMD vectorizing compiler.
The ARM and Thumb assembler. This assembles ARM and Thumb assembly language sources.
A 64-bit version of armlink is also provided that can access the greater amount of memory available on 64-bit machines. It supports all the features that are supported by the 32-bit version of armlink in this release.
If you are using ARM Compiler as a standalone product, then the 32-bit version is used by default.
For ARM Compiler in DS-5, the linker version depends on the host platform. 32-bit tools have the 32-bit linker and 64-bit tools have the 64-bit linker. You do not get both versions.
For the Microcontroller Developer Kit (MDK), only the 32-bit linker is provided.
The librarian. This enables sets of ELF object files to be collected together and maintained in archives or libraries. You can pass such a library or archive to the linker in place of several ELF files. You can also use the archive for distribution to a third party for further application development.
The image conversion utility. This can also generate textual information about the input image, such as its disassembly and its code and data size.
The ARM C++ libraries provide:
Helper functions when compiling C++.
Additional C++ functions not supported by the Rogue Wave library.
The ARM C libraries provide:
An implementation of the library features as defined in the C and C++ standards.
Extensions specific to the compiler, such as
Common nonstandard extensions to many C libraries.
Some POSIX extended functionality.
Some functions standardized by POSIX.
The ARM C microlib provides a highly optimized set of functions. These functions are for use with deeply embedded applications that have to fit into extremely small amounts of memory.
The Rogue Wave C++ library provides an implementation of the C++ Standard Template Library (STL).