1.1 コンパイラ

コンパイラ armcc は、標準 C および標準 C++ のソースコードを ARM アーキテクチャベースプロセッサのマシンコードにコンパイルする、最適化 C および C++ コンパイラです。

コマンドラインオプションを使用すると、最適化のレベルを制御できます。
コンパイラは、以下のさまざまな C および C++ ソースコードを ARM および Thumb® コードにコンパイルします。
  • ISO 標準規格 C:1990 ソース
  • ISO 標準規格 C:1999 ソース
  • ISO 標準規格 C++:2003 ソース。
  • ISO 標準規格 C++:2011 ソース。
C および C++ 標準に関するドキュメントは、国際的な標準化団体(フランスの AFNOR、アメリカの ANSI など)から入手できます。
コンパイラには、NEON™ テクノロジを備えた ARM プロセッサ用のベクトル化モードも用意されているため、ARM Advanced 単一命令複数データ処理(SIMD)拡張機能を使用できます。ベクトル化では、コンパイラによって C コードまたは C++ コードから直接 NEON ベクトル命令が生成されます。
armcc は、ARM アーキテクチャ向けベーススタンダードアプリケーションバイナリインタフェース(BSABI)に準拠しています。これに関連するコンパイラの処理は次のとおりです。
  • 出力オブジェクトを ELF 形式で生成します。
  • Debug With Arbitrary Record Format Debugging Standard Version 3(DWARF 3)準拠のデバッグ情報を生成します。また、DWARF 2 デバッグテーブルもサポートされます。
  • Edison Design Group(EDG)フロントエンドが使用されています。
コンパイラの多くの機能は、コードを実行するターゲットのプロセッサまたはアーキテクチャを効果的に使用できるように設計されているため、ターゲットプロセッサまたはアーキテクチャに関する知識は、コンパイラを操作するときに有用で、場合によっては必須の条件になります。

以下の点に注意して下さい。
  • 生成されたコードは 2 つの ARM® コンパイラリリース間で異なる場合があります。
  • 機能のリリースについては、重大なコード生成の差異が存在する場合があります。

個々の ARM コンパイラ ツールのマニュアルのコマンドラインオプションの説明と関連情報では、 ARM コンパイラ でサポートされているすべての機能が説明されています。記述されていない機能はすべて、サポート対象外のため、自己責任で使用して下さい。サポートされていない機能を使用して生成されたコードについては、正しく動作することを必ず確認して下さい。
関連する概念
3.1 NEON テクノロジ
関連情報
The DWARF Debugging Standard、http://dwarfstd.org/
Application Binary Interface (ABI) for the ARM Architecture
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.