Keil Logo

The compiler

1.1 The compiler

The compiler, armcc, is an optimizing C and C++ compiler that compiles Standard C and Standard C++ source code into machine code for ARM architecture-based processors.

Command-line options enable you to control the level of optimization.
The compiler compiles the following different varieties of C and C++ source code into ARM and Thumb® code:
  • ISO Standard C:1990 source.
  • ISO Standard C:1999 source.
  • ISO Standard C++:2003 source.
  • ISO Standard C++:2011 source.
Publications on the C and C++ standards are available from national standards bodies. For example, AFNOR in France and ANSI in the USA.
armcc complies with the Base Standard Application Binary Interface for the ARM Architecture (BSABI). In particular, the compiler:
  • Generates output objects in ELF format.
  • Generates Debug With Arbitrary Record Format Debugging Standard Version 3 (DWARF 3) debug information and contains support for DWARF 2 debug tables.
  • Uses the Edison Design Group (EDG) front end.
Many features of the compiler are designed to take advantage of the target processor or architecture that your code is designed to run on, so knowledge of your target processor or architecture is useful, and in some cases, essential, when working with the compiler.


Be aware of the following:
  • Generated code might be different between two ARM® Compiler releases.
  • For a feature release, there might be significant code generation differences.


The command-line option descriptions and related information in the individual ARM Compiler tools documents describe all the features that ARM Compiler supports. Any features not documented are not supported and are used at your own risk. You are responsible for making sure that any generated code using unsupported features is operating correctly.
Non-ConfidentialPDF file icon PDF versionARM DUI0375H
Copyright © 2007, 2008, 2011, 2012, 2014-2016 ARM. All rights reserved. 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.