Datasheet
C and C++ Compilers
2-2 Copyright © 1999-2001 ARM Limited. All rights reserved. ARM DUI 0067D
2.1 About the C and C++ compilers
Wherever possible, the compilers adopt widely used command-line options familiar
both to users of UNIX and to users of Windows/MS-DOS.
The ARM C and C++ compilers compile ANSI C.
The ARM C++ compilers expect C++ that conforms to the ISO/IEC 14822 :1998
International Standard for C++. See Appendix C Standard C++ Implementation
Definition for a detailed description of ARM C++ language support.
The ARM C++ compilers can also compile the subset of standard C++ known as
Embedded C++ (EC++). EC++ is a subset of standard C++ that provides efficient code
for use in embedded systems. The EC++ amendment to the ISO standard is evolving.
The proposed definition is available on the web at
http://www.caravan.net/ec2plus
.
2.1.1 Compiler variants
All ARM C and C++ compilers accept the same basic command-line options. Unless
stated otherwise, the text in this chapter applies to all compiler types. Where a specific
compiler has added features or restrictions, this is noted in the text. Where an option
applies only to C++, this is also noted in the text.
There are four compiler variants as shown in Table 2-1.
Note
Throughout this chapter, the phrase the ARM compilers refers to armcc, armcpp, tcc,
and tcpp.
Table 2-1 Compiler variants
Compiler name Compiler variant
Source
language
Compiler output
armcc C C 32-bit ARM code
tcc C C 16-bit Thumb code
armcpp C++ C or C++ 32-bit ARM code
tcpp C++ C or C++ 16-bit Thumb code