Skip to main content

IAR Embedded Workbench for Arm 10.10.x

実装数

このセクションの内容:

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

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

C++の機能

制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

外部識別子の文字数。

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

Structured bindings [dcl.struct.bind] introduced in one declaration.

Limited only by memory.

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

オブジェクトのサイズ。

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

Lambda-captures in one lambda-expression [expr.prim.lambda.capture].

Limited only by memory.

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

メモリごとにのみ制限

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

メモリごとにのみ制限

atexitで登録された関数。

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

at_quick_exitで登録された関数。

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

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

クラスの固定メンバ

メモリごとにのみ制限

クラスのfriend宣言

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

メモリごとにのみ制限

ネストした外部仕様。

メモリごとにのみ制限

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

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

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

メモリごとにのみ制限

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

メモリごとにのみ制限

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

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

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

メモリごとにのみ制限

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

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

Libc++: 10 placeholders from _1 to _10.

表123 C++実装数