Skip to main content

IAR Embedded Workbench for Arm 9.70.x

実装数

このセクションの内容:

C++のIAR 実装は、すべての実装と同じように、正常に実行できるアプリケーションのサイズで制限されます。

次の制限が適用されます。

C++の機能

制限

複合文、繰返しコントロール構造、選択コントロール構造のレベルのネスト。

メモリごとにのみ制限

条件付きインクルードのレベルのネスト。

メモリごとにのみ制限

クラス、算術式、または宣言の不完全なタイプを変更するポインタ、配列、関数宣言(いろんな組み合わせ)。

メモリごとにのみ制限

完全な式内のカッコで囲まれた式のレベルをネスト。

メモリごとにのみ制限

内部識別子またはマクロ名の文字数。

メモリごとにのみ制限

外部識別子の文字数。

メモリごとにのみ制限

1つの変換ユニットの外部識別子。

メモリごとにのみ制限

ブロックの宣言したブロックスコープがある識別子。

メモリごとにのみ制限

1つの変換ユニットで同時に定義されたマクロ識別子。

メモリごとにのみ制限

1つの関数定義のパラメータ。

メモリごとにのみ制限

1つの関数呼び出しの引数。

メモリごとにのみ制限

1つのマクロ定義のパラメータ。

メモリごとにのみ制限

1つのマクロ呼び出しの引数。

メモリごとにのみ制限

1つの論理ソースファイルの文字。

メモリごとにのみ制限

文字列リテラルの文字(連結後)。

メモリごとにのみ制限

オブジェクトのサイズ。

メモリごとにのみ制限

#includeファイルのネストレベル。

メモリごとにのみ制限

switch文のケースラベル (ネストされたswitch文のものは除外)。

メモリごとにのみ制限

シングルクラスのデータメンバ。

メモリごとにのみ制限

シングルクラスの列挙定数。

メモリごとにのみ制限

シングルメンバ仕様のネストしたクラス定義のレベル。

メモリごとにのみ制限

atexitで登録された関数。

内蔵のアプリケーションのヒープメモリで制限。

at_quick_exitで登録された関数。

内蔵のアプリケーションのヒープメモリで制限。

直接および間接ベースクラス。

メモリごとにのみ制限

シングルクラスの直接ベースクラス。

メモリごとにのみ制限

シングルクラスの宣言されたメンバ。

メモリごとにのみ制限

クラスの仮想関数の最終上書き、アクセス可能かどうか。

メモリごとにのみ制限

クラスの直接および間接仮想ベース

メモリごとにのみ制限

クラスの固定メンバ

メモリごとにのみ制限

クラスのfriend宣言

メモリごとにのみ制限

クラスのアクセスコントロール宣言。

メモリごとにのみ制限

コンストラクタ定義のメンバイニシャライザー。

メモリごとにのみ制限

1つの識別子のスコープ修飾子。

メモリごとにのみ制限

ネストした外部仕様。

メモリごとにのみ制限

再帰的なconstexpr関数の呼び出し。

512. この制限は、コンパイラオプション‑‑max_depth_constexpr_callを使用して変更できます。

コア定数式の評価済みの完全な式。

メモリごとにのみ制限

テンプレート宣言のテンプレート引数。

メモリごとにのみ制限

テンプレートの引数の差し引き中の、置換を含むテンプレートのインスタンス化を再帰的にネスト(14.8.2)

特定のテンプレートの場合は64。この制限は、コンパイラオプション‑‑pending_instantiationsを使用して変更できます。

1回のブロック試行あたりのハンドラ数。

メモリごとにのみ制限

シングル関数宣言でのThrowの仕様

メモリごとにのみ制限

プレースホルダー数(20.9.9.1.4)

_1 _20で20個のプレースホルダー。

表125 C++実装数