|Non-Confidential||PDF version||ARM DUI0472M|
|Home > Getting Started with the Compiler > Default compiler behavior|
By default, the compiler determines the source language by examining the source filename extension. For example,
filename.c indicates C, while
filename.cpp indicates C++03, although the command-line options
--cpp11 let you override this.
The default compiler target instruction set depends on the target processor (
--thumbcommand-line option to specify Thumb®.
When you compile multiple files with a single command, all files must be of the same type, either C or C++. The compiler cannot switch the language based on the file extension. The following example produces an error because the specified source files have different languages:
armcc -c test1.c test2.cpp
If you specify files with conflicting file extensions you can force the compiler to compile both files for C or for C++, regardless of file extension. For example:
armcc -c --cpp test1.c test2.cpp
Where an unrecognized extension begins with
.c, for example,
filename.cmd, an error message is generated.
Support for processing Precompiled Header (PCH) files is not available when you specify multiple source files in a single compilation. If you request PCH processing and specify more than one primary source file, the compiler issues an error message, and aborts the compilation.
Support for Precompiled Header (PCH) files is deprecated from ARM Compiler 5.05 onwards on all platforms. Note that ARM Compiler on Windows 8 never supported PCH files.
armcc can in turn invoke armasm and armlink. For example, if your source code contains embedded assembly code, armasm is called. armcc searches for the armasm and armlink binaries in the following locations, in this order:
The same location as armcc.