2.3 コンパイラのデフォルトの動作

デフォルトでは、コンパイラはソースファイル名の拡張子を調べて、ソース言語を判断します。例えば、filename.c は C であることを示しているのに対して、filename.cpp は C++03 であることを示しています。ただし、コマンドラインオプション --c90--c99--cpp、および --cpp11 を使用すると、これをオーバーライドできます。

デフォルトのコンパイラのターゲット命令セットは、ターゲットプロセッサ(--cpu=name)によって決まります。
  • ARM 命令をサポートするプロセッサの場合、デフォルトの命令セットは ARM です。Thumb® を指定するには、--thumb コマンドラインオプションを使用します。
  • ARM 命令をサポートしていないプロセッサのデフォルト命令セットは Thumb です。
1 つのコマンドで複数のファイルをコンパイルする場合、すべてのファイルは同じタイプ(C または C++)でなければなりません。コンパイラは、ファイル拡張子に基づいて言語を切り替えることができません。以下の例では、指定されたソースファイルで異なる言語が使用されているため、エラーが生成されます。
armcc -c test1.c test2.cpp
競合するファイル拡張子の付いたファイルを指定しても、コンパイラでは、拡張子に関係なく、C および C++ 用に両方のファイルをコンパイルすることができます。以下に例を示します。
armcc -c --cpp test1.c test2.cpp
認識されない拡張子が filename.cmd のように .c で始まる場合は、 エラーメッセージが生成されます。
1 回のコンパイルで複数のソースファイルを指定する場合には、プリコンパイルヘッダ(PCH)ファイルの処理のサポートは利用できません。PCH 処理を要求した場合に元のソースファイルを複数指定すると、コンパイラによってエラーメッセージが生成され、コンパイルが中止されます。

ARM コンパイラ 5.05 以降、すべてのプラットフォームでプリコンパイルヘッダ(PCH)ファイルのサポートが廃止される予定です。Windows 8 上の ARM コンパイラでは PCH ファイルをサポートしないことに注意して下さい。
armccarmasm および armlink を呼び出すことができます。たとえば、ソースコードに組み込みアセンブリコードが含まれている場合は、 armasm が呼び出されます。armcc は、 armasm および armlink バイナリを以下の場所で以下の順序で探します。
  1. armcc と同じ場所
  2. PATH の場所
関連する概念
4.24 プリコンパイルヘッダ(PCH)ファイル
2.4 コンパイラコマンドラインオプションの順序
2.9 コンパイラによるヘッダファイルの検索に影響を与える要因
2.11 コンパイラの検索規則と現在の場所
2.12 ARMCC5INC 環境変数
2.2 コンパイラコマンドラインオプションのグループ別一覧
2.1 コンパイラのコマンドライン構文
関連する作業
2.5 stdin を使用したコンパイラへのソースコードの入力
関連する参考文書
2.7 コンパイラで認識されるファイル名の接尾文字
2.8 コンパイラ出力ファイル
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.