1.3 言語拡張機能

コンパイラは、さまざまなソース言語に対する多くの言語拡張をサポートしています。

これらの言語拡張機能は以下のように分類できます。
C99 の機能
コンパイラは C99 の言語機能の一部を使用できるようにします。
  • 厳密な C90 の拡張の例としては、// 形式のコメントがあります。
  • 標準 C++ および厳密な C90 両方の拡張の例としては、 restrict ポインタがあります。
標準 C の拡張
コンパイラは厳密な C99 の拡張をサポートします。たとえば、旧式の非プロトタイプ定義を無効にする関数プロトタイプです。
標準 C のこれらの拡張は C90 でも使用できます。.
標準 C++ の拡張
コンパイラは、クラスメンバの宣言で使用する修飾名のような、厳密な C++ の拡張を数多くサポートしています。
これらの拡張は標準 C と C90 では使用できません。
標準 C と標準 C++ の拡張
コンパイラは、匿名のクラス、構造体、および共用体のような、厳密な C++ および厳密な C90 に特有な拡張機能の一部をサポートしています。
GNU 拡張機能
コンパイラは、いくつかの GNU 拡張機能をサポートしています。
ARM 特有の機能拡張
コンパイラは、命令の組み込み関数やその他の組み込み関数のような、ARM コンパイラ特有の拡張機能を数多くサポートしています。
関連する参考文書
9.6 C90 で使用可能な C99 言語機能
9.10 C++ および C90 で使用可能な C99 言語機能
9.15 標準の C 言語の拡張機能
9.24 標準の C++ 言語の拡張機能
9.32 標準 C および標準 C++ 言語の拡張機能
1.4 言語標準の準拠
9.45 C および C++ 言語に対する GNU 拡張機能
章 14 GNU 言語拡張機能の概要の表
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.